Hallo R2009.
Also bei Verwendung von
Win32 und Delphi, C, C++ würde ich folgende
API verwenden.
Delphi-Quellcode:
TCallBackProcedure = function(ptrData: Pointer; cbData: LongInt): LongBool; stdcall;
function Generic(cbProc: Pointer; ptrData: Pointer; cbData: LongInt): LongBool; stdcall;
Damit ist mit einer einzigen Funktion, die Übergabe aller möglichen
Win32 Datentypen, Structuren etc. möglich.
Hier ein Beispiel wie, über eine Struct, array of integer, über die
API ausgetauscht werden kann.
Delphi-Quellcode:
type
TGenericData = packed record
DataID : LongInt; //-- zB. DataID = 1 = array of integer Daten usw.
ArrayOfLongInt : ^LongInt; //-- Pointer auf die ersten 4 Byte des ersten Datensatzes
LengthArrayOfLongInt : Longint; //-- Wievile Datensätze sind vorhanden
end;
PGenericData = ^TGenericData;
Es müssen vorher nur in einem Pflichtenheft, die ID's für bestimmte Datenstrukturen festgelegt werden.
Hier können je nach Bedarf ganz unterschiedliche Ansätze verwirklicht werden.
Wichtig ist nur, dass
Win32-
API Datentypen und Strukturen zum Einsatz kommen.
lg. Astat