Einzelnen Beitrag anzeigen

SearchBot

Registriert seit: 27. Jun 2004
Ort: N-W vom Bodensee
317 Beiträge
 
Delphi 12 Athens
 
#17

AW: Reise von Berlin nach Athens

  Alt 29. Aug 2024, 15:18
Oki,

es läuft schon mal nicht schlecht. Ich habe jetzt eine saubere Trennung der Quelltexte vom Berlin und Athens gemacht - damit es keine Überschneidungen gibt, die seltsame Fehler auslösen.

Jetzt gerade habe ich das Problem - was im Berlin kein Problem war - mit einer Meldung:
Zitat:
[dcc32 Fehler] Unit1.pas(2501): E2251 Doppeldeutiger überladener Aufruf von 'ShowMessage'
Vcl.Dialogs.pas(6764): Verwandte Methode: procedure ShowMessage(const string);
Unit1.pas(1726): Verwandte Methode: procedure ShowMessage(const string; Char; TColor);
Mit dieser Funktion, die ich überall im Quelltext habe, schrieb ich mir eine neue Methode, die ein anders gestaltetes Fenster öffnet.
Ich hätte sie natürlich auch ShowMessage1 oder so nennen können, dann aber an hunderten Stellen es so ändern müssen - so ging es einfach am schnellsten.

Ich habe in der Unit die Deklaration so gemacht:
Delphi-Quellcode:
procedure ShowMessage(const Msg: string; icon:char='i'; color:TColor = clBlue); overload;

implementation

procedure ShowMessage(const Msg: string;icon:char='i'; color:TColor = clBlue); overload;
//Icon: 0:i 1:? 2:X 3:!
begin
  // hier mein modales Fenster konfigurieren und anzeigen
end;
Und obwohl das (für Berlin scheinbar) korrekt deklariert ist, meckert Athens herum.
Lasse ich "zur Deklaration springen" - öffnet es "Vcl.Dialogs" bei Showmessage.
Es ignoriert also meine lokale Deklaration.

Muss das über einen Compiler-Schalter, der das zulässt/vermeidet, bestimmt werden?
  Mit Zitat antworten Zitat