Einzelnen Beitrag anzeigen

EWeiss
(Gast)

n/a Beiträge
 
#14

AW: Debug Console oder ähnlich

  Alt 24. Okt 2010, 04:13
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
  Mit Zitat antworten Zitat