call conventions в VBA
От: ЕвгенийI  
Дата: 12.05.03 07:53
Оценка:
У клиента возникла проблема с call conventions при подключении паскалевской функции из dll. Киньте, пожалуйста, в меня чем нибудь про объявление соглашений о вызове при работе с dll в VBA. Кусок из документации, илли если есть под рукой — example. Заранее спасибо.
Re: stdcall
От: Vi2 Удмуртия http://www.adem.ru
Дата: 12.05.03 10:13
Оценка:
Здравствуйте, ЕвгенийI, Вы писали:

ЕI>У клиента возникла проблема с call conventions при подключении паскалевской функции из dll. Киньте, пожалуйста, в меня чем нибудь про объявление соглашений о вызове при работе с dll в VBA. Кусок из документации, илли если есть под рукой — example.

В VB(VBA) стандартный тип вызова — stdcall. Других просто нет.
Vita
Выше головы не прыгнешь, ниже земли не упадешь, дальше границы не убежишь! © КВН НГУ
Re[2]: call conventions в VBA
От: ЕвгенийI  
Дата: 12.05.03 11:06
Оценка:
Здравствуйте, Vi2, Вы писали:

Vi2>В VB(VBA) стандартный тип вызова — stdcall. Других просто нет.


Гм... а как же тогда вызываются апишные функции? Они же вроде не stdcall...
Re[3]: И все-таки __stdcall
От: Vi2 Удмуртия http://www.adem.ru
Дата: 12.05.03 13:43
Оценка:
Здравствуйте, ЕвгенийI, Вы писали:

ЕI>Гм... а как же тогда вызываются апишные функции? Они же вроде не stdcall...

Вот выдержка из MSDN:
Topic: Accessing the Microsoft Windows API
...
Chapter: Using Procedures from Other Sources

If you are attempting to call a procedure in a DLL that is not part of the operating system, you must determine the proper declaration for it. The topic "Declaring a DLL Procedure" explains the syntax of the Declare statement in detail.

Note If you use Visual C++ (or a similar tool) to create DLLs that will be called by Visual Basic, use the __stdcall calling convention. Do not use the default calling convention (_cdecl).

Замечание. Если Вы используете Visual C++ (или похожий), чтобы создавать DLL-ки, которые будут вызываться Visual Basic, используйте __stdcall соглашение. Не используйте соглашение по умолчанию (_cdecl).
Vita
Выше головы не прыгнешь, ниже земли не упадешь, дальше границы не убежишь! © КВН НГУ
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.