13.03.2007, 11:48 | #1 |
Участник
|
DLLFunction и количество параметров
Являюсь начинающим в программировании для Axapta. Стал рассматривать обращение к внешним DLL. Возникла такая проблема: Axapta постоянно говорит о неверном количестве параметров(в моем случае их 4), посмотрел исходники на других языках, посмотрел в IDA - везде 4-е, менял их количество от 0 до 6-и результат тот же.
Мой код: DLL winmmdll =new DLL('winmm.dll'); DLLFunction sendstring= new DLLFunction(winmmdll,'mciSendStringA'); sendstring.call('set CDAudio door open',null,0,0); Тот же код на C#: [DllImport("winmm.dll", EntryPoint="mciSendStringA")] public static extern void mciSendStringA(string lpstrCommand, string strReturnString, long uReturnLength, long hwndCallback); //-- mciSendStringA("set CDAudio door open",null,0,0); |
|
13.03.2007, 12:00 | #2 |
Участник
|
Необходимо указать, какие типы передаваемых параметров, и какое будет возвращаемое значение.
Посмотрите примеры в классе WinAPI |
|
13.03.2007, 12:44 | #3 |
Участник
|
Спасибо, вот так работает:
DLL winmmdll =new DLL('winmm.dll'); DLLFunction sendstring= new DLLFunction(winmmdll,'mciSendStringA'); sendstring.arg(ExtTypes::String, ExtTypes::String, ExtTypes:ouble, ExtTypes:ouble); sendstring.call('set CDAudio door open',null,0,0); Аксаптовский мессадж ввел в заблуждение |
|
|
|