Thema: Delphi Gleiche Variablen-Namen

Einzelnen Beitrag anzeigen

Delbor

Registriert seit: 8. Okt 2006
Ort: St.Gallen/Schweiz
1.186 Beiträge
 
Delphi 11 Alexandria
 
#36

AW: Gleiche Variablen-Namen

  Alt 9. Mai 2017, 17:26
Hi zusammen

@ Jumpy
Zitat:
Das heißt eigentlich nur, das du es im Interface-Teil anders deklarierst als im Implementaion-Teil!
Ups - da hab ich jetzt nicht daran gedacht!
Ich habe mich hierauf gestützt - von Namensgleicheit ist hier nicht die Rede.
Ein Zitat daraus:
Zitat:
In beiden Fällen müssen im Aufruf Parameter übergeben werden, die in der Reihenfolge und im Typ den in der Parameterliste der Routine angegeben Parametern entsprechen
Also müsste der Zielparameter an z.B. erster Stelle vom Typ des Quellparameters sein, auch wenn er anders heisst.

Als ich versuchte, den Namen des übergeben Listen-Parameters zu ändern und Delphi meckerte wegen unterschiedlicher Deklaration, dachte ich allerdings an die Deklaration des Events und nicht an diejenige der Empfängerroutine. Und da müssen in der Deklaration und in der Implementierung nicht nur Reihenfolge und Tip stimmen, sondern auch die Parameterbezeichner.

@Uwe Raabe
Zitat:
Entschuldige, aber das ist Blödsinn! Die Deklaration eines Events ist die Stelle, an der die Parameternamen festgelegt werden.
Sorry, aber ich fürchte, du hast mich fallsch verstanden. Um es mal anders auszudrücken:
Delphi-Quellcode:
procedure Tfoo.xxx
begin
  GetNamen(Strasse, Hausnummer)
end

function Getnamen(Street, Number)
Begin
  End
End;
Natürlich müssen die Deklarationen jeder der beiden Methoden dabei gleich lauten und die Reihenfolge und Typen der Parameter übereinstimmen.

Interessant ist jetzt: Im Datenmodul Heisst die Liste jetzt anders. Trotzdem gibts die beiden schon gepostetn Fehlermeldungen. Andrerseits funktioniert folgendes problemlos:
Delphi-Quellcode:
procedure TDMLSQLite.DoPathListEvent(Sender: TObject;
  const FOrdner: String; const FPathlist: TStringList);
begin
// FFileList.AddStrings (FPathlist); //<<=== löst die bekannten Fehlermeldungen aus
  SQLiteTestMain.LBxPathlist.Items.AddStrings(FPathlist); //<<== Kein Problem
end;
@Sherlock:
Zitat:
Auf mich will ja keiner hören... seufz.
Ich guck mir deinen Beitrag gleich nochmal an!

Gruss
Delbor
Roger
Man muss und kann nicht alles wissen - man muss nur wissen, wo es steht.
Frei nach Albert Einstein
http://roase.ch
  Mit Zitat antworten Zitat