Delphi-PRAXiS
Seite 8 von 9   « Erste     678 9      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Handling von Fehlern, Warnungen und Hints (https://www.delphipraxis.net/120816-handling-von-fehlern-warnungen-und-hints.html)

MaBuSE 19. Sep 2008 07:32

Re: Handling von Fehlern, Warnungen und Hints
 
Zitat:

Zitat von Dezipaitor
Die JEDI API gibt es seit Delphi 5 (und früher?), als man die Warnungen noch nicht abschalten konnte. Daher steht es nicht drin.

Du brauchst es doch nur in die JEDI.inc Datei einzubauen.
Diese wird doch in jede Unit eingebunden.
Dort gibt es ja auch die Prüfung welche Delphi Version gerade compiliert.
Du musst also nur eine Zeile Code ändern.

(Ich gehe jetzt von JCL aus, Dein JEDI API kenne ich nicht. ;-) )

Dezipaitor 19. Sep 2008 09:10

Re: Handling von Fehlern, Warnungen und Hints
 
1. Die jedi.inc ist eine gemeinsame genutzte Datei für alle JEDI Projekte.
2. Sowas in die JediAPILib.inc einzubauen, würde die Warnung auch für Funktionen ausschalten, bei der die Warnung gerecht würde (z.b. selbst gebaute, wie GetProcedureAddress).

MaBuSE 19. Sep 2008 09:16

Re: Handling von Fehlern, Warnungen und Hints
 
Zitat:

Zitat von Dezipaitor
1. Die jedi.inc ist eine gemeinsame genutzte Datei für alle JEDI Projekte.
2. Sowas in die JediAPILib.inc einzubauen, würde die Warnung auch für Funktionen ausschalten, bei der die Warnung gerecht würde (z.b. selbst gebaute, wie GetProcedureAddress).

OK jedi.inc scheidet aus

aber immer noch besser in der JediAPILib.inc als das die Benutzer der Lib auf die Idee kommen alle Warnungen komplett auszuschalten.

Dezipaitor 19. Sep 2008 09:20

Re: Handling von Fehlern, Warnungen und Hints
 
Da hast du natürlich auch wieder recht. :wink:

uligerhardt 19. Sep 2008 09:37

Re: Handling von Fehlern, Warnungen und Hints
 
Wie wild sind die einschlägigen Routinen denn im Code verteilt? Wenn sie einigermaßen in Blöcken beieinander stehen, würde es ja reichen, selbige mit {$WARN NO_RETVAL OFF}/{$WARN NO_RETVAL ON} einzurahmen. Funktioniert bei unseren "bösen" Stellen gut.

Dezipaitor 19. Sep 2008 10:14

Re: Handling von Fehlern, Warnungen und Hints
 
Es gibt knapp 6500 solcher Funktionen. Wenn nicht jemand ungeheuer viel Zeit hat, müsste man sowas automatisieren.

SubData 19. Sep 2008 10:33

Re: Handling von Fehlern, Warnungen und Hints
 
Jaein...

Man müsste an den Ecken, wo man sowieso gerade mal rumprogrammiert diese "Fehler" gleich mit korrigieren.
Ok, es ist ein bissi mehr Arbeit dann, aber man baut dann wenigstens so nach und nach Altlasten aus und verbessert den Code...

uligerhardt 19. Sep 2008 12:22

Re: Handling von Fehlern, Warnungen und Hints
 
Zitat:

Zitat von Dezipaitor
Es gibt knapp 6500 solcher Funktionen. Wenn nicht jemand ungeheuer viel Zeit hat, müsste man sowas automatisieren.

So, ich hab mal einen kleinen Test gemacht: jwapi2.2a runtergeladen, ein Test-Konsolenprojekt angelegt, in selbigem JwaSspi ge-used und in den Compileroptionen DYNAMIC_LINK definiert. In der jediapilib.inc das WARNINGS OFF entschärft und kompiliert ==> Bazillionen Warnungen.
Dann hab ich in der JwaSspi und der JwaWinNT jeweils den Block mit diesen ganzen GetProcedureAddress/asm-Konstrukten mit WARN NO_RETVAL OFF/ON geklammert - und voila: keine Warnungen.
Wenn du das Gleiche jetzt in den ~60 pas-Dateien in der jwapi machst, hast du doch das, was du willst?

Uli.

BTW: Die Packages in ...\jwapi2.2a\Packages\bds10 lassen sich nicht out of the box kompilieren. Dem Compiler fehlt ein $DEFINE wegen irgendwas mit ShellApi.

Dezipaitor 19. Sep 2008 13:15

Re: Handling von Fehlern, Warnungen und Hints
 
Zitat:

Zitat von uligerhardt
So, ich hab mal einen kleinen Test gemacht: jwapi2.2a runtergeladen, ein Test-Konsolenprojekt angelegt, in selbigem JwaSspi ge-used und in den Compileroptionen DYNAMIC_LINK definiert. In der jediapilib.inc das WARNINGS OFF entschärft und kompiliert ==> Bazillionen Warnungen.
Dann hab ich in der JwaSspi und der JwaWinNT jeweils den Block mit diesen ganzen GetProcedureAddress/asm-Konstrukten mit WARN NO_RETVAL OFF/ON geklammert - und voila: keine Warnungen.
Wenn du das Gleiche jetzt in den ~60 pas-Dateien in der jwapi machst, hast du doch das, was du willst?

Hast du Lust, dasselbe mit den Trunkdateien zu machen und es zu testen? Wäre nicht schlecht.

Zitat:

BTW: Die Packages in ...\jwapi2.2a\Packages\bds10 lassen sich nicht out of the box kompilieren. Dem Compiler fehlt ein $DEFINE wegen irgendwas mit ShellApi.
Kannst du mir etwas genaueres sagen? Mit Delphi2006 habe ich nur Probleme mit der JWA, so dass ich es nicht mit der IDE testen kann. Mit der dcc32 funkz es jedoch.

uligerhardt 19. Sep 2008 13:32

Re: Handling von Fehlern, Warnungen und Hints
 
Zitat:

Zitat von Dezipaitor
Hast du Lust, dasselbe mit den Trunkdateien zu machen und es zu testen? Wäre nicht schlecht

Kannst du das Ganze mal zippen und hier anhängen oder mir schicken (bin bei gmx in de, ulrich.gerhardt)? Dann schaue ich es mir Montag mal an.
Ich hab's übrigens nochmal mit dem Package JediApi_DynamicRelease probiert und mit geschätzt 10-15 OFF/ON-Blöcken einige Hundert Warnungen beseitigt, bevor ich keine Lust mehr hatte.

Zitat:

Zitat von Dezipaitor
Kannst du mir etwas genaueres sagen? Mit Delphi2006 habe ich nur Probleme mit der JWA, so dass ich es nicht mit der IDE testen kann. Mit der dcc32 funkz es jedoch.

Nochmal Package JediApi_DynamicRelease: In Unit SetupApi läuft er in Zeile 52 auf einen (gewollten) Compilerfehler, weil JWA_INCLUDE_SHELLAPI nicht definiert ist.

BTW im BTW: :mrgreen: Das wäre doch ein Fall für - ich zitiere Mabuse - {$Message Fatal 'Bang. Tot.'} // Fehler, die Compilierung wird abgebrochen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:37 Uhr.
Seite 8 von 9   « Erste     678 9      

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