Коды ошибок виндов

CLIN 17.03.2004 - 10:59 | Прога выдаёт Run-time error '49': Bad DLL calling convention прога в VB6, DLL Cишная. Что это может быть ?
SBoyko 1 - 17.03.2004 - 11:10 | Думаю что-то около неправильно экспортирумой(х) функции(й) dll. Если есть исходники dll, попробуй указать другой (правильный) тип вызова. Если нету, правильно импортируй данные.
CLIN 2 - 17.03.2004 - 11:28 | это моя dll - и она на моём компе нормально работает с бейсиком. А у коллеге в том же проекте с той же длл возникает ошибка !!! Причём тот же VB6 SP5 ...
UE 3 - 17.03.2004 - 11:32 | см. MSDN::Knowledge Base::VB "Bad DLL Calling Convention" Means Stack Frame Mismatch: When Visual Basic for Windows generates the run time error "Bad DLL Calling Convention," the most common cause when calling API functions is omitting the ByVal keyword from the Declaration of the external function or from the call itself. It can also occur due to including the ByVal keyword when the function is expecting a 4 byte pointer to the parameter instead of the value itself. This changes the size (number of bytes) of the values placed on the stack, and upon return from the DLL, Visual Basic for Windows detects the change in the position of the stack frame and generates the error.
ГыГы 4 - 17.03.2004 - 11:43 | Попробуй поискать у коллеги ещё таких же длл. Может найдёшь, да старой версии. А ещё лучше, пропиши полный путь к длл в declare statement. PS: "Коды ошибок винды" - в файле WinError.h PPS: к кода ошибок бейсика оные не имеют никакого отношения :)
CLIN 5 - 17.03.2004 - 11:56 | в ДЛЛ DLLEXPORT DWORD GetData(char *data, DWORD dwSize); в бейсике Private Declare Function GetData Lib "mydll" _ (ByVal Data As String, ByVal lSize As Long) As Long Dim s As String, l As Long, res As Long l = 500 s = String$(l, 0) res = GetData(s, l) Может со строками что - нить не так ?

>>