![]() |
AW: Debug Console oder ähnlich
Delphi ist keine Interpretersprache.
Das was Du mit Deinen Kompilerschaltern setzt wirkt sich direkt auf das Kompilat aus. Ich denke du brauchst Parameter, ohne Kompilerschalter, falls ich einen Hänger habe korrigiert mich. |
AW: Debug Console oder ähnlich
Zitat:
Wie würde das aussehen das wie beschrieben nur der Obereteil ausgeführt wird wenn der parameter gesetzt ist und der untere ignoriert wird. Und umgekehrt natürlich wenn er nicht gesetzt ist. Ich war der meinung das man das mit Compiler Schaltern unter Delphi regeln könnte. Irren ist Menschlich :) gruss Emil |
AW: Debug Console oder ähnlich
Soweit läuft es jetzt.
Mein Window wird gefunden .. Jetzt habe ich ein VBArray in Delphi erstellt Und ist erweiterbar jenachdem wieviele Parameter ich übergeben will. Dieses wird folgendermaßen initialisiert.
Delphi-Quellcode:
Nach dem absenden der Message bekomme ich hier eine negativmeldung
VBArray := VarArrayCreate([0, 2], varVariant);
VBArray[0] := 'BASSVIS_Init '; VBArray[1] := GlobalVisInit; VBArray[2] := MainHandle; Trace(VBArray); Zitat:
Delphi-Quellcode:
Obwohl die definition von arg eigentlich richtig sein sollte!
for i := low(args) to high(args) do
Delphi-Quellcode:
bei der zweiten Schleife ist es in Ordnung..
procedure SendTraceMessage(args: OleVariant);
Delphi-Quellcode:
kann aber in der ersten kein VarArrayLowBound zuweisen da diese 2 Parameter abverlangt.
for j := VarArrayLowBound(args, i) to VarArrayHighBound(args, i) do
sPrint := sPrint + args[i, j] + #9 jemand ne idee ? Gibt es eine andere alternative für "low" OT:Anbei komische Formatierung in euren Skript.. Warum setzt sich die nächste zeile hinter dem Quelltext? Sollte eigentlich drunter stehen. gruss Emil |
AW: Debug Console oder ähnlich
Ich mache mal hier weiter.
So wie es jetzt ausschaut und nach dem problem mit der ![]() Funktioniert es jetzt soweit schon mal. Allerdings ist das ganze irgendwie nicht so recht Delphi konform.
Delphi-Quellcode:
Wie könnte ich am besten diese Aufrufe so übergeben das ich nur
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; noch eine Zeile dafür benötige ;) In VB ist meine Function so ausgelegt
Code:
Wobei args() auf die Daten im ParamArray zugreift das bis zu einer tiefe von 59 definiert sein kann
Public Sub Trace(ParamArray args() As Variant)
In Delphi wäre das in etwa gleichzusetzen mit dem..
Delphi-Quellcode:
Ich müßte quasi soetwas haben wie diese function
ParamData := VarArrayCreate([0,1], varVariant);
ParamData[0] := 'Value In'; ParamData[1] := ''; // value out ParamArray := PSafeArray(TVarData(ParamData).VArray); Zitat:
Wobei dann der aufruf in etwa so aussehen könnte.
Delphi-Quellcode:
Und beliebig erweiterbar bis zu 59 Einträge (VB).
Trace('Form_Load Error', '', 'Error', err.Number, err.Description)
gruss Emil |
AW: Debug Console oder ähnlich
Ich habe keine Ahnung wie das zusammen mit VB tickt, aber meinst Du so etwas ??
Delphi-Quellcode:
Type TArray=Array of Variant;
var Form1: TForm1; implementation {$R *.dfm} Procedure Trace(Args:Tarray); var i:Integer; begin Form1.Memo1.Lines.Clear; for I := Low(Args) to High(Args) do Form1.Memo1.Lines.Add(Args[i]) end; procedure TForm1.Button1Click(Sender: TObject); begin Trace(VarArrayOf(['test',1,'Haus'])) end; |
AW: Debug Console oder ähnlich
Zitat:
Danke. gruss |
AW: Debug Console oder ähnlich
Falls das mal jemand testen möchte..
Ihr müßt zuerst den Tracer starten dann das Delphi Project. Welche probleme ich noch habe ist in der uTracer kommentiert. EDIT: Hab es wieder gelöscht.. gruss |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:07 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz