Не работает один из параметров в DllImport - C#
Формулировка задачи:
Добрый день!
Подскажите пожалуйста, в таком вопросе: есть библиотека написанная в дельфи, я работаю с ней в C#, там передается параметр ... Handle pHandle)
но C# не понимает pHandle. Как это реализовать?
Спасибо.
и ругается на pHandle...
вот так выглядит строка....
[ DllImport("pump32.dll")] public static extern int pmOpenPump(byte portNo, char NetAdr, pHandle Handle);
Решение задачи: «Не работает один из параметров в DllImport»
textual
Листинг программы
unit Pumps; interface uses windows; type TpmResult = integer; const pmRes_Ok = $00; pmRes_InvalidValue = $01; pmRes_InvalidHandle = $02; pmRes_WinError = $03; pmRes_TimeOut = $04; pmRes_FailAnswer = $05; pmRes_CommandLock = $41; pmRes_InvalidCrc = $42; pmRes_IndexOutOfBounds = $44; pmRes_InvalidFormat = $46; pmRes_NeedSetAmount = $4E; pmRes_Working = $4F; pmRes_StartOffNozzle = $50; pmRes_NozzleOff = $54; pmRes_Undefine = $55; pmRes_SmallAmount = $5A; type TpmPumpState = integer; const pmPumpState_Error = -1; pmPumpState_Idle = $0; pmPumpState_Ready = $1; pmPumpState_Work = $2; type TpmHandle = integer; TpmPump = record handle: integer; netAdr: char; state: TpmPumpState; error: TpmResult; activeNozzle: integer; volume: integer; end; PpmPump = ^TpmPump; type TpmEventHandler = procedure(PumpHandle: TpmHandle); function pmOpenPump(portNo: byte; NetAdr: char; Handle: pHandle): TpmResult; stdcall; external 'pump32.dll' name 'pmOpenPump'; function pmClosePump(Handle: TpmHandle): TpmResult; stdcall; external 'pump32.dll' name 'pmClosePump'; function pmGetPump(Handle: TpmHandle; Pump: PpmPump): TpmResult; stdcall; external 'pump32.dll' name 'pmGetPump'; function pmStart(Handle: TpmHandle; Nozzle: byte; Price, Amount: double): TpmResult; stdcall; external 'pump32.dll' name 'pmStart'; function pmStop(Handle: TpmHandle; Nozzle: byte): TpmResult; stdcall; external 'pump32.dll' name 'pmStop'; function pmGetCounter(Handle: TpmHandle; Nozzle: byte; Counter: pdouble): TpmResult; stdcall; external 'pump32.dll' name 'pmGetCounter'; procedure pmSetEventHandler(Handler: TpmEventHandler); stdcall; external 'pump32.dll' name 'pmSetEventHandler'; implementation end.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д