Ich würde empfehlen erst mal richtig aufzuräumen.
Dazu gehört dass das Record TManipulationtag sowie die Deklarationen für function COM_TcpOpen usw. in
eine eigene Unit verschoben werden.
Alles was zur Ansteuerung der
DLL benötigt wird muss in eine eigene
Unit gepackt werden.
Alles andere wäre unprofessionell.
Delphi-Quellcode:
unit HwCom;
{
Hier Doku über die DLL (Hersteller, Zweck, Webseite,...) rein
}
interface
uses
Windows;
type
TManipulationtag =
record
TriggerType: byte;
///< Trigger 1: Identify whether the TriggerValue is an address or a value (0: trigger not active; 1:
// ...
end;
function COM_TcpOpen(
var zeiger:Pointer; ipAddress:AnsiString; port:smallint): NativeUInt;
stdcall;
...
implementation
const HWCOM_DLL = '
HwCom.dll';
function COM_TcpOpen(
var zeiger:Pointer; ipAddress:AnsiString; port:smallint): NativeUInt;
stdcall;
external HWCOM_DLL;
...
end;
Die
Unit HwCom wird dann per Uses in deiner Formularunit eingebunden.
Und dabei fällt mir sogleich ein Problem auf:
Du übergibst den Parameter
ipAddress als
AnsiString
. Dieser Datentyp ist aber unter C/C++ unbekannt und dürfte wohl eher ein
PAnsiChar
sein.