Re: Warnung des Compilers verstehen
So mache ich es auch an vielen Stellen und hab es in die entsprechende Methode auch eingebaut, die Warning bleibt aber.
|
Re: Warnung des Compilers verstehen
Auch wenn die falsche Compiler-Warnung ein Bug ist, solche Endlos-If-Ketten mit Stringvergleichen sind mir vom Programmcode ein wenig suspekt.
Schon mal daran gedacht, das Ganze via Enumtyp zu lösen? Dann könnte man ein performantes case-Statement verwenden. |
Re: Warnung des Compilers verstehen
Zitat:
Wenn ich mal Zeit finde werde ich es umbauen. Ich war nur auf die Stelle gestossen, weil ich versucht habe, dieses Projekt Warnings-frei zu machen. Im nächsten Leben gelobe ich Besserung :lol: |
Re: Warnung des Compilers verstehen
Hallo,
Notlösung wäre, intern in 2 Methoden aufzusplitten. Heiko |
Re: Warnung des Compilers verstehen
hmm ich komm da nu nich ganz mit.
Ich habe es mal durch meinen Codeformater gejagt und von meinem Compiler Compilieren lassen.
Delphi-Quellcode:
Und ich habe weder Warnung noch sonst was bekommen.
Function Rechte(cModul: String): String;
Begin If AnsiCompareText(cModul, 'Angebot') = 0 Then Result := 'FAngebot' Else If AnsiCompareText(cModul, 'Auftrag') = 0 Then Result := 'FAuftrag' Else If AnsiCompareText(cModul, 'AV') = 0 Then Result := 'FAV' Else If AnsiCompareText(cModul, 'Fertigung') = 0 Then Result := 'FFertigung' Else If AnsiCompareText(cModul, 'Einkauf') = 0 Then Result := 'FEinkauf' Else If AnsiCompareText(cModul, 'Versand') = 0 Then Result := 'FVersand' Else If AnsiCompareText(cModul, 'Reparatur') = 0 Then Result := 'FReparatur' Else If AnsiCompareText(cModul, 'Supply') = 0 Then Result := 'FSupply' Else If AnsiCompareText(cModul, 'Kunden') = 0 Then Result := 'FKunden' Else If AnsiCompareText(cModul, 'Artikel') = 0 Then Result := 'FLager' Else If AnsiCompareText(cModul, 'Projekt') = 0 Then Result := 'FProjekt' Else If AnsiCompareText(cModul, 'Zeichnung') = 0 Then Result := 'FZeichnung' Else If AnsiCompareText(cModul, 'Pruefmtl') = 0 Then Result := 'FPruefmtl' Else If AnsiCompareText(cModul, 'Iso9000') = 0 Then Result := 'FIso9000' Else If AnsiCompareText(cModul, 'System') = 0 Then Result := 'FSystem' Else If AnsiCompareText(cModul, 'Dokument') = 0 Then Result := 'FDok' Else Result := ''; End; Welche Delphi ver hast du denn da zum Kompilieren genutzt ? ( Meine war D5 Prof ) |
Re: Warnung des Compilers verstehen
Zitat:
Wie steht denn dein Warning-Level vom Compiler? Warnungen an? "Der Rückgabewert der Funktion könnte undefiniert sein" eingeschaltet? |
Re: Warnung des Compilers verstehen
Zitat:
Da es scheinbar ein Bug im Compiler ist, habe ich jetzt den entsprechenden Abschnitt mittels Warning OFF/ON ausgeklammert und kann nun meinen Source wieder ohne Warnings compilieren. |
Re: Warnung des Compilers verstehen
Liste der Anhänge anzeigen (Anzahl: 1)
Komisch
habe grad
Delphi-Quellcode:
geschrieben, und normalerweise gibts da ne Fehlermeldung nur diesmal nicht ?Function Recht(Value: String): String; Begin End; Procedure TForm1.Button1Click(Sender: TObject); Begin showmessage(recht('va')); End; |
Re: Warnung des Compilers verstehen
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
Deine Warnungen sind ja wohl eingeschaltet, scheinbar gibt es dort diese Warnung noch nicht |
Re: Warnung des Compilers verstehen
Hallo,
unter D6 kommt auch keine. Heiko |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:18 Uhr. |
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