Einzelnen Beitrag anzeigen

Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#1

Dynamisches erstellen von Tabsheets und Memos

  Alt 20. Okt 2010, 16:39
Hallo zusammen,

Ich habe eine Anwendung, die ihre Logdateien über mehrere Verzeichnisse verteilt. Also schnell ein Form mit einem Pagecontrol erstellt.
Für jede gefundene Logdatei soll jetzt auf dem Pagecontrol ein Tabsheet erstellt werden und auf jedem Tabsheet ein Memo.
Ich hab mir aus mehreren Beispielen meinen Source zusammengeklöppelt, aber ich werde das Gefühl nicht los, das er etwas suboptimal ist, vor allem was Parent und Owner angeht. Könntet Ihr bitte einmal darüber schauen und mich korrigieren:
Delphi-Quellcode:
var
   marr : array of tmemo;
   ll : tstringlist;

.....
  { ll enthält Dateinamen }
  if ll.count>0 then
    setlength(marr,ll.count-1);
    for i:=0 to ll.count-1 do begin
      with TTabSheet.Create(pagecontrol1) do begin
        PageControl := PageControl1;
        Caption := ll[i];
      end;
      marr[i]:=tMemo.Create(self);
      marr[i].parent:=pagecontrol1.pages[i];
      marr[i].Align:=alClient;
      marr[i].ScrollBars:=ssBoth;
      try
      marr[i].Lines.loadfromfile(ll[i]);
      except
      marr[i].text:='**** '+#13#10+
                    ll[i]+#13#10+
                    ' konnte nicht geöffnet werden'+#13#10+
                    ' **** '  ;
      end;
    end;
Das "Aufräumen" fehlt noch, da hab ich mir etwas in dieser Art vorgestellt:
Delphi-Quellcode:
for i:=0 to Pagecontrol1.pages.count-1 do
  Pagekontrol1.Pages[i].free; {mit automatischer Freigabe der Memos !? }
Vielen Dank
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat