Delphi-PRAXiS
Seite 112 von 120   « Erste     1262102110111112 113114     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   XP Usermanagers 6.1 Open Source (https://www.delphipraxis.net/32538-xp-usermanagers-6-1-open-source.html)

Luckie 8. Aug 2017 10:03

AW: XP Usermanagers 6.1 Open Source
 
Die CompilerSwitches.inc ist da drin, weil ich den Kommandozeilencompiler für die Batch nutze. Aber deines Debugging-Problems war ich jetzt auch etwas ratlos. ;)

nahpets 8. Aug 2017 10:28

AW: XP Usermanagers 6.1 Open Source
 
Zitat:

Zitat von Delphi-Laie (Beitrag 1378295)
Delphi-Quellcode:
{$I CompilerSwitches.inc}
Diese entfernt bzw. auskommentiert, und schon sind die Haltepunkte da! :-D

Würd' ich nicht so machen, da man dann nie weiß, ob durch andere Schalter nicht irgendwelche Nebeneffekte auftreten. Ändere lieber in der {$I CompilerSwitches.inc} den Debugschalter ab, dann gilt das solange für alle Stellen, an der die {$I CompilerSwitches.inc} eingebunden ist, bis Du die Änderung dort zentral wieder rückgängig machst.

Der Sinn der Includedatei ist es ja, die Änderungen zentral durchführen zu können und nicht nach dem Motto: Entweder alles oder nichts. ;-)

Und da die Includedatei in der ersten Zeile ein
Delphi-Quellcode:
{.$define DEBUG}
enthält, wäre es sinnvoller dort den . zu entfernen, da in der Datei über diesen Compilerschalter weitere Abhängigkeiten berücksichtigt werden.

Interessant wäre es zu prüfen, ob der von Dir entdeckte Fehler nach dem Aktivieren der Include-Datei weiterhin auftritt oder ob es sich hierbei um einen Nebeneffekt handelt, der durch die Änderung der Compilerschalter auftritt.

Luckie 8. Aug 2017 10:37

AW: XP Usermanagers 6.1 Open Source
 
Zitat:

Zitat von nahpets (Beitrag 1378308)
Und da die Includedatei in der ersten Zeile ein
Delphi-Quellcode:
{.$define DEBUG}
enthält, wäre es sinnvoller dort den . zu entfernen, da in der Datei über diesen Compilerschalter weitere Abhängigkeiten berücksichtigt werden.

Genau so habe ich es auch immer gemacht. Wenn ich dran gearbeitet habe, habe ich so das Debugging aktiviert und später wieder aktiviert, wenn ich die Version zum Veröffentlichen compiliert habe.

jaenicke 8. Aug 2017 11:25

AW: XP Usermanagers 6.1 Open Source
 
Zitat:

Zitat von Delphi-Laie (Beitrag 1378304)
Der Fehler passiert in der Funktion "ImportXMLThread" und erstaunt mich insofern, als daß dort doch mit "try..finally" ihm entgegengewirkt wird.

Oh, böse.
Die Methode Import liefern zwar einen Boolean zurück, schmeißt aber bei Misserfolg eine Exception.
Da das eine Threadmethode ist, landet die dann direkt in den aufrufenden Windows-Routinen.

Bei der Konstellation macht es gar keinen Sinn eine Exception zu werfen. Dazu kommt, dass Exception.Create in Unit Exceptions inherited nicht aufruft und somit die Message der Exception noch dazu leer ist.

try..finally sorgt ja nur dafür, dass Import.Free noch ausgeführt wird, behandelt aber den Fehler nicht.

Und CoDOMDocument40.Create ist auch etwas veraltet, das gibt es auch neueren Systemen vermutlich gar nicht mehr.

Ich schaue mal sobald ich dazu komme. Sollte schnell gehen. ;-)

Luckie 8. Aug 2017 11:32

AW: XP Usermanagers 6.1 Open Source
 
Zitat:

Zitat von jaenicke (Beitrag 1378314)
Zitat:

Zitat von Delphi-Laie (Beitrag 1378304)
Der Fehler passiert in der Funktion "ImportXMLThread" und erstaunt mich insofern, als daß dort doch mit "try..finally" ihm entgegengewirkt wird.

Oh, böse.

Ich war jung und brauchte den Code. :duck:

Delphi-Laie 8. Aug 2017 11:54

AW: XP Usermanagers 6.1 Open Source
 
Zitat:

Zitat von Aviator (Beitrag 1378305)
Du könntest ein Pull/Merge-Request auf GitHub erstellen damit Sebastian das einpflegen kann. :-D

Warum einfach, wenn es auch ganz "hochoffiziell" möglich ist?

In meinen Augen gehört das eher zur Rubrik "issues". Ist jetzt jedenfalls dort als solcher auf höchst "intermediate English" eingetragen.

Danke für den Hinweis!

jaenicke 8. Aug 2017 12:24

AW: XP Usermanagers 6.1 Open Source
 
Zitat:

Zitat von Luckie (Beitrag 1378318)
Ich war jung und brauchte den Code. :duck:

Och, das passiert öfter als du vielleicht denkst. ;-)
Und solange man dann in diesem Fall nicht eine solche Fehleingabe macht, merkt man es ja auch nicht.

Delphi-Laie 8. Aug 2017 12:46

AW: XP Usermanagers 6.1 Open Source
 
Zitat:

Zitat von jaenicke (Beitrag 1378314)
Bei der Konstellation macht es gar keinen Sinn eine Exception zu werfen. Dazu kommt, dass Exception.Create in Unit Exceptions inherited nicht aufruft und somit die Message der Exception noch dazu leer ist.

Naja, ich glaubte bisher eigentlich, daß "try" einen solchen fehlerbedingten Programmabsturz zuverlässig bzw. immer verhindert.

Daß "except" im Fehlerfalle, und zwar unmittelbar danach, aktiv wird, ist klar.

Demnach hatte ich bisher bei "try...finally" eine solche Funktionalität im Hinterkopf, daß Fehler abgefangen, aber im Fehlerfalle (wird der Rest im try nach dem Fehler noch ausgeführt?) keine weitere Aktion erfolgt, danach aber in jedem Falle der Code im finally-Teil ausgeführt wird.

jaenicke 8. Aug 2017 13:05

AW: XP Usermanagers 6.1 Open Source
 
Zitat:

Zitat von Delphi-Laie (Beitrag 1378329)
Demnach hatte ich bisher bei "try...finally" eine solche Funktionalität im Hinterkopf, daß Fehler abgefangen, aber im Fehlerfalle (wird der Rest im try nach dem Fehler noch ausgeführt?) keine weitere Aktion erfolgt, danach aber in jedem Falle der Code im finally-Teil ausgeführt wird.

Beides macht das gleiche, wenn b mal angenommen eine Exception wirft und mal nicht:
Delphi-Quellcode:
a;
try
  b;
finally
  c;
end;

// und:
a;
try
  b;
  c;
except
  c;
  raise;
end;
In beiden Fällen wird c ausgeführt und der Fehler wieder geraised und somit weitergereicht. Finally bewirkt das nur automatisch.

Luckie 8. Aug 2017 13:06

AW: XP Usermanagers 6.1 Open Source
 
Mein Gedankengang war wohl, dass man auch nur vom Usermanger erstellte XML-Dateien importiert, deswegen habe ich die Fehlerbehandlung an dieser Stelle etwas vernachlässigt. Vielleicht wollte ich sie auch noch einbauen, habe es aber nur vergessen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:35 Uhr.
Seite 112 von 120   « Erste     1262102110111112 113114     Letzte »    

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz