Ich mache mal hier weiter.
So wie es jetzt ausschaut und nach dem problem mit der
String übergabe
Funktioniert es jetzt soweit schon mal.
Allerdings ist das ganze irgendwie nicht so recht Delphi konform.
Delphi-Quellcode:
procedure SetTrace(MainHandle: HWND);
begin
VBArray := VarArrayCreate([0, 2], varVariant);
VBArray[0] := '
BASSVIS_Init ';
VBArray[1] := '
';
VBArray[2] := vartostr(GlobalVisInit);
Trace(VBArray, 3);
VBArray := VarArrayCreate([0, 2], varVariant);
VBArray[0] := '
Application Handle';
VBArray[1] := '
';
VBArray[2] := vartostr(MainHandle);
Trace(VBArray, 3);
end;
Wie könnte ich am besten diese Aufrufe so übergeben das ich nur
noch eine Zeile dafür benötige
In VB ist meine Function so ausgelegt
Code:
Public Sub Trace(ParamArray args() As Variant)
Wobei args() auf die Daten im ParamArray zugreift das bis zu einer tiefe von 59 definiert sein kann
In Delphi wäre das in etwa gleichzusetzen mit dem..
Delphi-Quellcode:
ParamData := VarArrayCreate([0,1], varVariant);
ParamData[0] := 'Value In';
ParamData[1] := ''; // value out
ParamArray := PSafeArray(TVarData(ParamData).VArray);
Ich müßte quasi soetwas haben wie diese function
Zitat:
ParamArray args() As Variant
Nur wie läßt sich soetwas in Delphi verwirklichen innerhalb einer Function oder Procedure?
Wobei dann der aufruf in etwa so aussehen könnte.
Trace('Form_Load Error', '', 'Error', err.Number, err.Description)
Und beliebig erweiterbar bis zu 59 Einträge (VB).
gruss Emil