Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.83/30: Рейтинг темы: голосов - 30, средняя оценка - 4.83
-12 / 0 / 0
Регистрация: 28.09.2017
Сообщений: 145

Что возвращает ObjPtr, (VarPtr, и т.д.) ?

07.10.2017, 22:49. Показов 6651. Ответов 54
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день.
Не подскажет ли кто-нибудь:
Как получить то, что возвращает нам наша дорогая и недокументированная :

ObjPtr

Но только из WinAPI ???
(или ещё откуда) ?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
07.10.2017, 22:49
Ответы с готовыми решениями:

Определить, что за параметр передается функции и что она возвращает
Добрый день! помогите пожалуста понять что за параметр передается функции LS_GetReaderSn и что эта функция возвращает. ...

Что означает запись в скобках и что возвращает return
Всем привет! Начал читать книгу BecomeAnXcoder и тут появился вопрос. В пример приведен такой код circleArea(float theRadius) //(1) ...

Что возвращает функция?
Всем привет. Не могу понять, что возвращает функция при вызове. Вот сама функция: private static bool InAir() { ...

54
Модератор
10051 / 3896 / 884
Регистрация: 22.02.2013
Сообщений: 5,849
Записей в блоге: 79
11.10.2017, 08:24
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Gazzi Посмотреть сообщение
Вот "Ответ ф точку"
Тебе дали уже. Или тебе нужен не аналог?
Цитата Сообщение от Gazzi Посмотреть сообщение
Я "с обратной стороны" (из своей DLL-ки) не могу вызвать какую-либо Мою_Фуню, накатанную в тексте "1С".
Неужель не понятно.
Нет, не понятно. Представь себе, я только сейчас узнал что нужно из DLL вызывать. В грамотно заданном вопросе - половина решения проблемы. Резонный вопрос - при чем тут вообще ObjPtr?
Если хочешь вызывать из DLL функции хоста то тут нужен любой колбек механизм (события, реализация колбек интерфейса, вызов по указателю).
Цитата Сообщение от Gazzi Посмотреть сообщение
CreateObject("Что_то.Что_то") По другому и низзя (чёртова эска). Позднее связывание.
При чем тут позднее связывание? CreateObject не имеет отношение к связыванию, эта функция просто создает объект, а какое связывание будет использовано определяется типом переменной.
Цитата Сообщение от Gazzi Посмотреть сообщение
Ну пусть будет ActiveX (например). Хотя разницы - ну никаковеньнейшей !
Есть разница. С одной стороны ты вызываешь свои собственные экспортируемые функции (разрабатываешь интерфейс связи и т.п.), с другой ты создаешь объекты исключительно через механизмы COM с уже реализованным интерфейсом связи. Чуешь разницу?
Цитата Сообщение от Gazzi Посмотреть сообщение
Вот это "Что-то" нам где взять в "отдельно взятой ситуации", а завтра мы может её в 2С-ку подгрузим,
и она там должна будет наити себе "ЭТО" (те 4-ре байта волшебной информации) ???
"Что-то" в данном случае ссылка на объект. Как создать объект я скинул выше пример; также можно через CreateObject создать - разницы никакой.
0
-12 / 0 / 0
Регистрация: 28.09.2017
Сообщений: 145
11.10.2017, 09:15  [ТС]
Тебе дали уже. Или тебе нужен не аналог?
Что мне дали-то ?
Нет, не понятно.
Согласен с тобой, недообяснил (приносю извинения).
Резонный вопрос - при чем тут вообще ObjPtr?
При том, что "хочу" это число получить НЕ средствами VB, потому как нету в 1С такого оператора (или его тщательно
скрывают).
любой колбек механизм
А где этот любой колбек механизм "возьмёт" адресочек, по которому ему отдать управление в случае какого-либо
события ???
вызов по указателю
А я про что толкую ? Где нам взять этот чёртов указатель ?
Есть разница
Ну пусть будет "Есть разница", тогда из процедурной DLL-ки найди этот указатель.
"Что-то" в данном случае ссылка на объект.
Вот и где-же нам ёё взять-то ?
Как создать объект я скинул выше пример
А теперь в этом примере создай в форме например:
Public Sub Moj_Funj ( )
И вызови её из DLL-ки, НЕ ПРИБЕГАЯ к "волшебным словам" ObjPtr, Form1 и иже с ними...
0
Модератор
10051 / 3896 / 884
Регистрация: 22.02.2013
Сообщений: 5,849
Записей в блоге: 79
11.10.2017, 09:26
Цитата Сообщение от Gazzi Посмотреть сообщение
Что мне дали-то ?
Аналог.
Цитата Сообщение от Gazzi Посмотреть сообщение
При том, что "хочу" это число получить НЕ средствами VB, потому как нету в 1С такого оператора (или его тщательно
скрывают).
Переформулирую: для чего тебе это число?
Цитата Сообщение от Gazzi Посмотреть сообщение
А где этот любой колбек механизм "возьмёт" адресочек, по которому ему отдать управление в случае какого-либо
события ???
Зависит от инструментария. На самом низком уровне ты его сам предоставляешь, на высоком инструмент.
Цитата Сообщение от Gazzi Посмотреть сообщение
А я про что толкую ? Где нам взять этот чёртов указатель ?
Указатель на функцию в 1С? Спроси в 1С ветке.
Цитата Сообщение от Gazzi Посмотреть сообщение
А я про что толкую ?
Ты толкуешь про указатель на объект (ObjPtr), при чем тут указатель на функцию?
Цитата Сообщение от Gazzi Посмотреть сообщение
Ну пусть будет "Есть разница", тогда из процедурной DLL-ки найди этот указатель.
LoadLibrary/GetModuleHandle, GetProceAddress вернут адрес экспортируемой функции по имени.
Цитата Сообщение от Gazzi Посмотреть сообщение
Вот и где-же нам ёё взять-то ?
Цитата Сообщение от The trick Посмотреть сообщение
Как создать объект я скинул выше пример; также можно через CreateObject создать - разницы никакой.
Цитата Сообщение от Gazzi Посмотреть сообщение
А теперь в этом примере создай в форме например:
Public Sub Moj_Funj ( )
И вызови её из DLL-ки, НЕ ПРИБЕГАЯ к "волшебным словам" ObjPtr, Form1 и иже с ними...
Создал, вызвал.
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Форма:
Option Explicit
 
Public Sub Moj_Funj()
    MsgBox "From dll"
End Sub
 
Класс:
Option Explicit
 
Public Sub Msg()
    Form1.Moj_Funj
End Sub
 
Вызов, не поменялся.
0
-12 / 0 / 0
Регистрация: 28.09.2017
Сообщений: 145
11.10.2017, 09:55  [ТС]
Што за аналог такой ?
для чего тебе это число?
Что бы вызвать Moj_Funj из DLL-ки.
Зависит от инструментария.
Вот такой "Больной" инструментарий.
LoadLibrary/GetModuleHandle, GetProceAddress
Они нам покажут, где в ехе-файле Moj_Funj находится? Тогда примерчик можно ?
Создал, вызвал.
А теперь закомпиляч это:

'Класс
Option Explicit
Public Sub Msg()
Form1.Moj_Funj
End Sub

Что получили ???
0
Модератор
10051 / 3896 / 884
Регистрация: 22.02.2013
Сообщений: 5,849
Записей в блоге: 79
11.10.2017, 10:07
Цитата Сообщение от Gazzi Посмотреть сообщение
Што за аналог такой ?
Полнофункциональный, т.е. делающий тоже самое что ObjPtr только на WinAPI.
Цитата Сообщение от Gazzi Посмотреть сообщение
Что бы вызвать Moj_Funj из DLL-ки.
Интересно каким образом это число поможет вызвать функцию?
Цитата Сообщение от Gazzi Посмотреть сообщение
Вот такой "Больной" инструментарий.
Не думаю, не знаю конечно как в 1С, но с большой вероятностью там можно обрабатывать события.
Цитата Сообщение от Gazzi Посмотреть сообщение
Они нам покажут, где в ехе-файле Moj_Funj находится? Тогда примерчик можно ?
Если ты ее экспортируешь то да. Но в твоем случае даже не стоит туда суваться, т.к. у тебя даже элементарных знаний по работе с ActiveX нет, не говоря уже о тех подводных камнях которые возникнут при работе с Native Dll.
Цитата Сообщение от Gazzi Посмотреть сообщение
А теперь закомпиляч это:
'Класс
Option Explicit
Public Sub Msg()
Form1.Moj_Funj
End Sub
Что получили ???
Не понимаю тебя. Скомпилировать без формы?
В общем ты нормально вопрос задать не можешь, поэтому я не могу тебе помочь. Играть в экстрасенса - не имею желания. Как будет нормально сформулированный вопрос, тогда будет (возможно) нормальный ответ. В общем случае ответ на вопрос в заголовке топика был дан в 10 посте.
1
-12 / 0 / 0
Регистрация: 28.09.2017
Сообщений: 145
11.10.2017, 10:41  [ТС]
Полнофункциональный, т.е. делающий тоже самое что ObjPtr только на WinAPI.
Хде он "ДАЁТ" то что нам возвращает ObjPtr, только на АПИ, тыж сам вызываешь в 11-ой строчке:
Debug.Print ObjPtr(z)
Где нам получить это значение БЕЗ ObjPtr (ну нету в 1С такого понятия - ObjPtr)
Интересно каким образом это число поможет вызвать функцию?
По указателю, по указателю, какж ещё-то...
не знаю конечно как в 1С
Глупо там всё, глупо...
Если ты ее экспортируешь то да
Можно примерчик ???
Но в твоем случае даже не стоит туда суваться, т.к. у тебя даже элементарных знаний по работе с ActiveX нет
Ну если их у тебя в избытке, поделись...
Скомпилировать без формы?
Ясен пыс, форма у нас появиться потом, когда когда мы в Эске сделаем:
СоздатьОбъект("Что_то.Что_то");
из нашей DLL-ки.
И обзываться она будет далеко не "Form1" (хз как она там обзывается)...

Добавлено через 17 секунд
Полнофункциональный, т.е. делающий тоже самое что ObjPtr только на WinAPI.
Хде он "ДАЁТ" то что нам возвращает ObjPtr, только на АПИ, тыж сам вызываешь в 11-ой строчке:
Debug.Print ObjPtr(z)
Где нам получить это значение БЕЗ ObjPtr (ну нету в 1С такого понятия - ObjPtr)
Интересно каким образом это число поможет вызвать функцию?
По указателю, по указателю, какж ещё-то...
не знаю конечно как в 1С
Глупо там всё, глупо...
Если ты ее экспортируешь то да
Можно примерчик ???
Но в твоем случае даже не стоит туда суваться, т.к. у тебя даже элементарных знаний по работе с ActiveX нет
Ну если их у тебя в избытке, поделись...
Скомпилировать без формы?
Ясен пыс, форма у нас появиться потом, когда когда мы в Эске сделаем:
СоздатьОбъект("Что_то.Что_то");
из нашей DLL-ки.
И обзываться она будет далеко не "Form1" (хз как она там обзывается)...
0
Модератор
10051 / 3896 / 884
Регистрация: 22.02.2013
Сообщений: 5,849
Записей в блоге: 79
11.10.2017, 10:56
Цитата Сообщение от Gazzi Посмотреть сообщение
Хде он "ДАЁТ" то что нам возвращает ObjPtr, только на АПИ, тыж сам вызываешь в 11-ой строчке:
Debug.Print ObjPtr(z)
Где нам получить это значение БЕЗ ObjPtr (ну нету в 1С такого понятия - ObjPtr)
Ты код запускал? Вот запусти и посмотри что там.
Цитата Сообщение от Gazzi Посмотреть сообщение
По указателю, по указателю, какж ещё-то...
Ок, но мы возвращаемся опять тогда в начало бесконечного цикла:
Цитата Сообщение от The trick Посмотреть сообщение
Резонный вопрос - при чем тут вообще ObjPtr?
Чтобы сделать break в этом бесконечном цикле твоей логики уточню: как указатель на объект поможет тебе вызвать функцию по указателю?
Цитата Сообщение от Gazzi Посмотреть сообщение
Глупо там всё, глупо...
А ты точно уверен что там все глупо, потому что пока глупой выглядит только твоя попытка изъяснить свои мысли при формулировке вопроса.
Цитата Сообщение от Gazzi Посмотреть сообщение
Можно примерчик ???
Тебе его уже дали, ты не пожелал читать раз спрашиваешь.
Цитата Сообщение от Gazzi Посмотреть сообщение
Ну если их у тебя в избытке, поделись...
Ну так задай вопрос. С удовольствием поделюсь. Ответ на вопрос в шапке же дал.
Цитата Сообщение от Gazzi Посмотреть сообщение
Ясен пыс, форма у нас появиться потом, когда когда мы в Эске сделаем:
СоздатьОбъект("Что_то.Что_то");
из нашей DLL-ки.
И обзываться она будет далеко не "Form1" (хз как она там обзывается)...
Блин, так ты мне сначала сказал:
А теперь в этом примере создай в форме например:
Public Sub Moj_Funj ( )
И вызови её из DLL-ки, НЕ ПРИБЕГАЯ к "волшебным словам" ObjPtr, Form1 и иже с ними...
Я в своем примере создал форму и вызвал ее не по имени из DLL. Где не состыковка? Или тебе нужно событие? Или что? Если событие то также элементарно делается:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
класс
Option Explicit
 
Public Event MyEvent()
 
Public Sub Msg()
    RaiseEvent MyEvent
End Sub
 
обработка
 
Option Explicit
 
Dim WithEvents z As CTest
 
 
Private Sub cmdCreate_Click()
 
    Set z = New CTest
    
    z.Msg
 
End Sub
 
Private Sub z_MyEvent()
    MsgBox "event!"
End Sub
0
-12 / 0 / 0
Регистрация: 28.09.2017
Сообщений: 145
11.10.2017, 11:32  [ТС]
Ты код запускал?
И что дальше ?
Засунь этот код в эску - и он нифига там не сработает !!!
мы возвращаемся на круги своя
Ну так покажи мне тупому, как нам получить то, что возвращает ObjPtr.
Но не вызывая этот оператор (ObjPtr), забудь про него, пусть он у нас сегодня будет "запрещён к применению".
Выкинь его с головы, не существует его для нас (потому как нет его в "умной" 1С).
как указатель на объект поможет тебе вызвать функцию по указателю?
А как он нам помогает в нашем "любимом и неповторимом", наверное как-то так:
CallByName(Ёперная_Форма, "Moj_Funj", 1)
А ты точно уверен что там все глупо
Ну покажи мне "умно".
Тебе его уже дали
Что мне дали ???
Что примерчик сработает "в обратную сторону", он вызовет Мою_Фуню в Эске?
Я в своем примере создал форму и вызвал ее не по имени из DLL
'Класс
Option Explicit
Public Sub Msg()
Form1.Moj_Funj
End Sub
А по чём же ты её вызывал, по "кличке" штоль ?
Если событие то также элементарно делается:
Вот и покажи мне "элементарное" на позднем связывании...
(Нету в Умной Эске ранней связи,
Только через CreateObject).
0
Модератор
10051 / 3896 / 884
Регистрация: 22.02.2013
Сообщений: 5,849
Записей в блоге: 79
11.10.2017, 13:33
Цитата Сообщение от Gazzi Посмотреть сообщение
И что дальше ?
То что результат ObjPtr и CopyMemory один и тот же.
Цитата Сообщение от Gazzi Посмотреть сообщение
Засунь этот код в эску - и он нифига там не сработает !!!
Причем тут эска? Ты разделом не ошибся? Тут вообще-то VB обсуждают, и код я тебе дал для VB.
Цитата Сообщение от Gazzi Посмотреть сообщение
Ну так покажи мне тупому, как нам получить то, что возвращает ObjPtr.
Но не вызывая этот оператор (ObjPtr), забудь про него, пусть он у нас сегодня будет "запрещён к применению".
Выкинь его с головы, не существует его для нас (потому как нет его в "умной" 1С).
Показал уже.
Цитата Сообщение от Gazzi Посмотреть сообщение
А как он нам помогает в нашем "любимом и неповторимом", наверное как-то так:
CallByName(Ёперная_Форма, "Moj_Funj", 1)
Где здесь передается число? Покажи мне пример CallByName(...ObjPtr(obj)....).
Цитата Сообщение от Gazzi Посмотреть сообщение
Ну покажи мне "умно".
Что умно? Умно обрабатывать события в 1С? Ну так возьми любой мануал по 1С и посмотри, или задай на соответствующем форуме вопрос про обработку событий в ActiveX DLL в 1С. При чем тут VB?
Цитата Сообщение от Gazzi Посмотреть сообщение
Что мне дали ???
Что примерчик сработает "в обратную сторону", он вызовет Мою_Фуню в Эске?
Что ты и просил:
Цитата Сообщение от Gazzi Посмотреть сообщение
Можно примерчик ???
Цитата Сообщение от Gazzi Посмотреть сообщение
'Класс
Option Explicit
Public Sub Msg()
Form1.Moj_Funj
End Sub
А по чём же ты её вызывал, по "кличке" штоль ?
Так я ее вызвал внутри DLL, снаружи DLL (из exe) этот метод вызвался без Form1. Не доходит?
Цитата Сообщение от Gazzi Посмотреть сообщение
Вот и покажи мне "элементарное" на позднем связывании...
28 пост, Карл! Так тебе нужно события при позднем связывании обработать? Где хотя бы намек на это в теме? Тебе не кажется странным что в теме про аналог ObjPtr мы пришли к обработке событий на позднем связывании?
Цитата Сообщение от Gazzi Посмотреть сообщение
(Нету в Умной Эске ранней связи,
Только через CreateObject).
Повторю:
Цитата Сообщение от The trick Посмотреть сообщение
При чем тут позднее связывание? CreateObject не имеет отношение к связыванию, эта функция просто создает объект, а какое связывание будет использовано определяется типом переменной.
Также повторю какое отношение обработка событий в 1С имеет к разделу по VB?
Обработка событий от COM объекта основывается на интерфейсах IConnectionPointContainer и IConnectionPoint (точка соединения). Если интерфейс событий известен, то просто вызывается IConnectionPointContainer::FindConnectio nPoint с нужным IID, у полученного IConnectionPoint вызывается метод Advise в который передается ссылка не реализованный интерфейс событий.
Если интерфейс заранее неизвестен то перечисляется список всех точек соединения через IEnumConnectionPoints и через IConnectionPoint::GetConnectionInterface каждой точки определяется IID интерфейса. Далее динамически имплементируется интерфейс который передается в Advise.
0
-12 / 0 / 0
Регистрация: 28.09.2017
Сообщений: 145
11.10.2017, 14:50  [ТС]
То что результат ObjPtr и CopyMemory один и тот же.
А то что мы засунули в CopyMemory, мы где это взяли ???

CopyMemory(Куда_Пихать, Откуда_Пихать, 4)

Откуда_Пихать, нам где это число взять (низзя Ptr-ом, и Form1 пользоваться сегодня).
Причем тут эска? Ты разделом не ошибся?
Ну так вызови на своём VB из ActiveX-DLL-ки Мою_Фуню в ехе-файле, да ещё в форме, которая "хз как обзывается".
Где здесь передается число?
CallByName(Form1, "Moj_Funj", 1)
Form1 - Это что такое ?
Теперь откомпилируй, видишь - шиш на рыло, а когда ты эту ДЛЛ-ку подпихнёшь другой проге (не на 1С, а на твоём
любимом VB), то там форма может обзываться Form2, а может и "хз как обзываться".

Вот сделай такую ДЛЛ-ку, чтоб она к любому ехе прилипала (с помощью CreateObject), и могла вызвать Moj_Funj на
форме, которая "хз как обзывается", конечно предварительно сообщи этой ДЛЛ-ке, как будет называться форма,
на которой будет сидеть Moj_Funj.

Или создай событие, которе будет вызываться в этой форме (можно и через всякие IConnectionPoint::GetConnectionInterface ), и покажи мне такой приёмчик.

Не забывай, ТОЛЬКО CreateObject, и никак более.

Плиз ...

Добавлено через 10 минут
Да можешь ещё проще поступить:
Сделай просто DLL-ку, которая вызовет "Moj_Funj" на форме под именем (пущай пока Form1 обзывается).
0
Модератор
10051 / 3896 / 884
Регистрация: 22.02.2013
Сообщений: 5,849
Записей в блоге: 79
11.10.2017, 15:00
Цитата Сообщение от Gazzi Посмотреть сообщение
А то что мы засунули в CopyMemory, мы где это взяли ???
Ну посмотри код, ты не видишь?
Цитата Сообщение от Gazzi Посмотреть сообщение
Откуда_Пихать, нам где это число взять
Где там число?
Цитата Сообщение от Gazzi Посмотреть сообщение
Ну так вызови на своём VB из ActiveX-DLL-ки Мою_Фуню в ехе-файле, да ещё в форме, которая "хз как обзывается".
Вызвал, только не функцию, а MsgBox. Выше пример с событием.
Цитата Сообщение от Gazzi Посмотреть сообщение
Form1 - Это что такое ?
Это число?
Цитата Сообщение от Gazzi Посмотреть сообщение
Теперь откомпилируй, видишь - шиш на рыло
Может быть ты и видишь что-то подобное, я нет.
Цитата Сообщение от Gazzi Посмотреть сообщение
, а когда ты эту ДЛЛ-ку подпихнёшь другой проге (не на 1С, а на твоём любимом VB), то там форма может обзываться Form2, а может и "хз как обзываться".
При чем dll? Ты делаешь dll с CallByName? В моем примере вообще не было CallByName.
Цитата Сообщение от Gazzi Посмотреть сообщение
Вот сделай такую ДЛЛ-ку, чтоб она к любому ехе прилипала (с помощью CreateObject), и могла вызвать Moj_Funj на
форме, которая "хз как обзывается", конечно предварительно сообщи этой ДЛЛ-ке, как будет называться форма,
на которой будет сидеть Moj_Funj.
Читаем дальше:
Цитата Сообщение от Gazzi Посмотреть сообщение
Или создай событие, которе будет вызываться в этой форме (можно и через всякие IConnectionPoint::GetConnectionInterface ), и покажи мне такой приёмчик.
Так сделал же выше.
Цитата Сообщение от Gazzi Посмотреть сообщение
Не забывай, ТОЛЬКО CreateObject, и никак более
Какая разница?
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Класс не поменялся.
Вызов из EXE:
Option Explicit
 
Dim WithEvents z As CTest
 
Private Sub cmdCreate_Click()
 
    Set z = CreateObject("VBDll.CTest")
    
    z.Msg
 
End Sub
 
Private Sub z_MyEvent()
    Call Moj_Funj
End Sub
 
Private Sub Moj_Funj()
    MsgBox "Сложно вызвать Moj_Funj из z_MyEvent?", vbQuestion
End Sub
0
oh my god
 Аватар для fever brain
1456 / 796 / 161
Регистрация: 05.01.2016
Сообщений: 2,307
Записей в блоге: 8
11.10.2017, 15:01
Цитата Сообщение от Gazzi Посмотреть сообщение
Form1 - Это что такое ?
CallByName обращение к объекту, это может быть не только форма, но и класс, контрол и тп
0
-12 / 0 / 0
Регистрация: 28.09.2017
Сообщений: 145
11.10.2017, 15:31  [ТС]
The trick.
Сделай пожалуйста так:
Есть форма, она обзывается Form1.
На ней сидит фуня:

Public Sub Moj_Funj ( )
MsgBox("Ку-Ку")
End Sub

Сделай пожалуйста DLL-ку (и обязятельно её откомпилируй - отдельно):

Private Sub Class_Initialize ( )
???.Moj_Funj 'Не знаю что ты сюда впишешь
End Sub

И выложи её, а я посмотрю

Добавлено через 10 минут
fever brain
А как бы нам из АПИ получить бы это значение ?
0
Модератор
10051 / 3896 / 884
Регистрация: 22.02.2013
Сообщений: 5,849
Записей в блоге: 79
11.10.2017, 15:31
Цитата Сообщение от Gazzi Посмотреть сообщение
The trick.
Сделай пожалуйста так:
Есть форма, она обзывается Form1.
На ней сидит фуня:
Public Sub Moj_Funj ( )
MsgBox("Ку-Ку")
End Sub
Сделай пожалуйста DLL-ку (и обязятельно её откомпилируй):
Private Sub Class_Initialize ( )
???.Moj_Funj 'Не знаю что ты чюда впишешь
End Sub
И выложи её, а я посмотрю
Обязательно должна вызываться именно Moj_Funj? Или можно вызвать произвольную в той же форме? А из нее ты можешь вызвать Moj_Funj. Второй момент допускается ли использование подготовки для вызова? Т.е. могу ли я сначала после CreateObject инициализировать какие-либо данные класса? Типа Class.Prop = 123?
0
-12 / 0 / 0
Регистрация: 28.09.2017
Сообщений: 145
11.10.2017, 15:37  [ТС]
Да можешь как хочешь поступить (не критично).
Можно и "подготовку" сделать.
0
 Аватар для Pro_grammer
6807 / 2839 / 527
Регистрация: 24.04.2011
Сообщений: 5,308
Записей в блоге: 10
11.10.2017, 15:49
Gazzi, если я все же правильно наконец то понял, то тебе надо из твоей самописной DLL, которая подключена к 1C, вызвать некую процедуру, которая написана на встроенном бейсике 1С ?
Т.е. если перевести в плоскость нашего форума VBA, это если бы я подключил к Excel по средством VBA некую DLL, и из этой DLL пытался бы вызвать функцию, написанную в этом же скрипте VBA? Т.е попытаться из скомпилированной библиотеки вызвать интерпритируемую функцию. Так или нет?
0
Модератор
10051 / 3896 / 884
Регистрация: 22.02.2013
Сообщений: 5,849
Записей в блоге: 79
11.10.2017, 15:55
3 разных метода.
Вложения
Тип файла: zip callback.zip (39.1 Кб, 7 просмотров)
0
-12 / 0 / 0
Регистрация: 28.09.2017
Сообщений: 145
11.10.2017, 16:09  [ТС]
тебе надо из твоей самописной DLL, которая подключена к 1C, вызвать некую процедуру, которая написана на встроенном бейсике 1С ?
Именно так.
Excel по средством VBA
Вот тут я немножко "притормаживаю", потому как не очень пользовал эксель с ВБА.
Т.е попытаться из скомпилированной библиотеки вызвать интерпритируемую функцию. Так или нет?
Что понимать под интерпретируемой функцией ? К моменту подключения моей ДЛЛ прога уже будет в ехе-формате.
В том числе и 1С-ка.

Добавлено через 8 минут
Не могу открыть callback.rar.
Это я торможу или как ...
Первое ваше послание открылось на ура (vbdll которая называлась).
0
Модератор
10051 / 3896 / 884
Регистрация: 22.02.2013
Сообщений: 5,849
Записей в блоге: 79
11.10.2017, 16:10
перезалил
0
Эксперт по электронике
6795 / 3222 / 335
Регистрация: 28.10.2011
Сообщений: 12,576
Записей в блоге: 7
11.10.2017, 16:17
Тогда идите в 1C раздел форума и узнавайте как получить указатель на 1C функцию.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
11.10.2017, 16:17
Помогаю со студенческими работами здесь

Что возвращает функция?
Вот код : class Token { public: char kind; Token() {} Token(char a) { kind = a; } };

Что возвращает процедура?
Привет всем) Пишу свой класс, в нем есть поле _spProc: TADOStoredProcedure; и есть функция, которая по идее должна возвращать результат...

Что возвращает конструктор?
Что возвращает конструктор? Читал что если написать myclass() ; (myclass это созданный класс), то создаётся безымянный объект, но как-то...

Что возвращает length?
Что возвращает s.length(), если std::string s; хранит UTF8? Длину в байтах, или в символах?

Что возвращает операто NEW
Что возвращает операто NEW ? если не достаточно памяти ??? по ходу НОЛЬ,,,,,,???


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
40
Закрытая тема Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru