Thema: Delphi Die seltsame Combobox

Einzelnen Beitrag anzeigen

Delbor

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

AW: Die seltsame Combobox

  Alt 11. Jan 2018, 20:04
Hi zusammen

Die Lösung bahnte sich an, als ich versuchte, die Prozedur von der Mainform aus aufzurufen:
Delphi-Quellcode:
procedure TPDFOfficerMain.FormCreate(Sender: TObject);
  var LFTextSelection : String;
begin
 // DoTextSelectionEvent := PathFinderFrame1.OnTextSelectionEvent;
  FAppDataPath := 'C:\PDFOfficerAppdata';
  PathFinderFrame1.OnTextSelectionEvent := DoTextSelectionEvent;
// PathFinderFrame1.FileMaskInit; //<== Aufruf von hier
  if Fileexists(FAppDataPath+'\TVNameitems.txt') then
  begin
    FSettingDefault := False;
    TVName.LoadFromFile(FAppDataPath+'\TVNameitems.txt');
  end
  else
  begin
    FSettingDefault := true;
    FillTVName;
  end;
end;
Das war erstmal nicht möglich, da ich die Prozedur im Basisframe gewohnheitsmässig private deklariert hatte. Also änderte ich das und verschob die Deklaration in den Puplic-Abschnitt.
Dabei vergass ich, den Aufruf von FileMaskInit aus dem Constructor des Basisframes zu entfernen.
Resultat: Die Items der Combobox waren jetzt doppelt vorhanden.
Fazit: der Basisframe vererbt an seine Instanzen nur das, was public deklariert ist - was ich eigentlich wissen müsste.

AddItem ist hier wirklich komplett falsch. Du musst schon Items.Add nehmen. Dann sollte es auch gehen.
Leider hast du meinen Eingangsthread etwas flüchtig gelesen - ich hatte beides versucht, und beides ging schief. Ich bin übrzeugt: public deklariert würde auch beides funktionieren.
Die Hilfe führt AddItem als Methode von TCustomCombo auf.

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