![]() |
AW: XP Usermanagers 6.1 Open Source
Zitat:
Die Größen sind nunmehr nur noch 76, 75, 58 und 57 kByte. Der Punkt geht klar an Dich! |
AW: XP Usermanagers 6.1 Open Source
Statt der Komprimationserfolge nunmehr eine Frage, bevorzugt an Dich, Luckie: Daß der Objektinspektor nicht funktioniert bzw. aktiv ist, ist bei einem Non-VCL-Programm zwangsläufig. Was mich jedoch enttäuscht, ist, daß beim Compilieren keine Haltepunkte erscheinen. Ergo läßt sich dieses Dein Programm nicht debuggen. Soll / muß das so sein, oder läßt sich Delphi in irgendeiner Weise doch zum Debugmodus überreden bzw. -listen?
|
AW: XP Usermanagers 6.1 Open Source
Mit Debuginfos kompilieren :zwinker:
(da wird die EXE aber Größer) |
AW: XP Usermanagers 6.1 Open Source
Zitat:
Bei den neueren Delphis (XEx, vielleicht auch schon eher) kann man ja zwischen Debug und Release auswählen. Bei Delphi 4 macht es aber keinen Unterschied, ob ich in den Projektoptionen unter Debuggen alles ausschalte (ist bei VCL-Formularprogramm voreingestellt aktiviert) oder bei Luckies Usermanager diese Debugoptionen, die als Standard ausgeschaltet sind, einschalte: VCL hat bietet mir in beiden Fällen die Haltepunkte an, Non-VCL hingegen in keinem Fall. Edit: Stimmt bei VCL nicht, die Haltepunkte verschwinden tatsächlich, aber erst nach dem Speichern der Optionen. Edit 2: Auch nicht in jedem Falle... Edit 3: Es bringt leider auch nichts, in Luckies DPR-Datei die Compilerschalter {$D+} und/oder {$DEBUGINFO ON} ganz am Anfang einzufügen. |
AW: XP Usermanagers 6.1 Open Source
Zitat:
Zitat:
|
AW: XP Usermanagers 6.1 Open Source
Vielen Dank, Sebastian!
Ich hatte schon gehofft, mit diesem Deinem Hinweis den XP Usermanager endlich debuggen zu können, aber Delphi 4-7 verweigern sogar nach dem Setzen / Einschalten dieser Option in der dof-Datei hartnäckig das Setzen der Haltepunkte. Wird also immer noch nichts mit dem Debuggen. Edit: Die von Dir genannte Option steht im Abschnitt "[Linker]". Also schaute ich in der IDE bei den Projektoptionen in die gleichnamige Rubrik, also unter "Linker". Da gibt es sogar eine Option "Mit externen Debug-Symbolen". Die war ausgeschaltet. Aber auch nach ihrem Einschalten gibt es keine Haltepunkte. |
AW: XP Usermanagers 6.1 Open Source
Schau bitte mal alle eingebundenen Units durch, ob da irgendwo ein {$D-} zu finden ist, dann werden dort die Debuginfos wieder ausgeschaltet.
Ist ein leidiges Problem, das ich von Delphi 7 kenne. |
AW: XP Usermanagers 6.1 Open Source
Zitat:
Das war es zwar auch nicht, aber Du brachtest mich auf die richtige Fährte: Es liegt an der eingebundenen bzw. konkret aufgerufenen
Delphi-Quellcode:
{$I CompilerSwitches.inc}
Diese entfernt bzw. auskommentiert, und schon sind die Haltepunkte da! :-D |
AW: XP Usermanagers 6.1 Open Source
So, einen ersten kleinen Fehler habe ich entdeckt. Klein bezieht sich nicht auf seine Folge - immerhin beendet sich das Programm dann selbst bzw. wird von Windows beendet, allerdings ohne weiteren Schaden - sondern die Wahrscheinlichkeit seines Auftretens.
Wird dem Programm unter Extras -> Benutzer importieren eine ungültige XML-Datei angeboten, endet das Programm mit "Usermanager.exe hat ein Problem festgestellt und muss beendet werden." und danach mit "Exception Exception in Modul Usermanager.exe bei 0001BB90". Das passiert, wenn das Programm separat gestartet wird. Wird es aus der IDE heraus gestartet, kommt hingegen "Runtime Error 217 at 00011F07". Der Fehler passiert in der Funktion "ImportXMLThread" und erstaunt mich insofern, als daß dort doch mit "try..finally" ihm entgegengewirkt wird. Lange Rede, diesen try-Block mit einem weiteren try..except umhüllt, also
Delphi-Quellcode:
, und schon läuft auch das reibungslos.
function ImportXMLThread(p: Pointer): Integer;
var ImPort : TImport; Filename : WideString; begin try Filename := PThreadParams(p)^.Filename; Import := TImport.Create(CurComputer, Filename); try if not Import.Import then begin SetCursor(LoadCursor(0, IDC_ARROW)); case MessageBox(hApp, PChar(Format(rsImportError, [ExtractFilepath(ParamStr(0)) + LOGFILE])), PChar(APPNAME), MB_ICONWARNING or MB_YESNO) of IDYES: ShellExecute(hApp, 'open', PChar(ExtractFilepath(ParamStr(0)) + LOGFILE), nil, nil, SW_NORMAL) end; end; finally Import.Free; end; except //ggf. eine gewünschte Fehlerausgabe end; Result := 0; end; |
AW: XP Usermanagers 6.1 Open Source
Du könntest ein Pull/Merge-Request auf GitHub erstellen damit Sebastian das einpflegen kann. :-D
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:18 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