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
 
#31

AW: Gleiche Variablen-Namen

  Alt 9. Mai 2017, 12:17
Hi zusammen
@DeddyH:
Zitat:
Vielleicht wäre es zielführender, Delphi erstmal links liegen zu lassen, Dich mit Bleistift und Papier hinzusetzen und einmal genau zu planen, wer was erzeugen/freigeben soll und wer worauf Zugriff haben muss. Ansonsten verschlimmbesserst Du Dein Programm am Ende immer weiter, bis gar nichts mehr funktioniert.
Sorry, aber Papier und Bleistift meckern nicht. Wenn ich also was ungewöhnliches umsetzen will, schreibe ich kleine Testprogramme, die einen Bruchteil dessen tun,was im eigentlichen Programm getan werden soll. Auf diese Weise merke ich dann relativ schnell, ob etwas geht oder nicht.
Klar, ich hätte von Anfang an sehen können: Da sind zwei gleichnamige Variablen, die einander zugewiesen werden sollen. Mein Ansatz war ja, vor dem Abfeuern des Events eine weitere Stringliste anderen Namens zu erzeugen und die dann an die Datenmodul.Stringliste zuzuweisen.
Nur hätte ich dann für den gleichen Inhalt nicht nur 2 Instanzen der Liste gehabt, sondern temporär deren drei.

@bra:
Zitat:
Du solltest dir angewöhnen, Funktionsparamater anders zu benennen, die gängige Konvention ist "AName". Dann brauchst du auch den Self-Mist nicht.
Muss ich nicht, da ich es schon mache. Nur: bei Events ist das nicht möglich. Da muss der im Empfänger übergebene Parameter auch genau so heissen, wie der des Senders. Also:
Der Sender:
Delphi-Quellcode:
  if Assigned(FOnPathListEvent) then
    FOnPathListEvent(Sender, FOrdner, FPathlist);
und der Empfänger:
Delphi-Quellcode:
procedure TSQLiteTestMain.DoPathListEvent(Sender: TObject;
  const FOrdner: String; const FPathlist: TStringList);
begin
  Self.EdiFolder.Clear;
  Self.EdiFolder.Text := FOrdner;
  Self.LBxPathlist.Clear;
  Self.LBxPathlist.Items.AddStrings(FPathlist);
// Self.FPathlist.Assign(FPathlist);
end;
Das erste, was ich versucht habe, war eben hier den Konstantenparameter anders zu benennen. Delphi meckerte das als unterschiedliche Deklaration an. Während ich dies schreibe, fällt mir auf, dass ich nicht versucht habe, die Liste nicht als Konstante zu übergeben. Aber das ändert an der Unterschiedlichen Deklaration nichts.
Wobei FPathList im PathfinderFrame zum Bleistift FFileList sein könnte. So sollte sich eine Kollision bei der Übergabe vermeiden lassen.

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