Einzelnen Beitrag anzeigen

Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#12

Re: Kompo dyn. erstellen -> Klappt. Dyn. Kompo benutzen -

  Alt 19. Dez 2003, 12:58
Moin Sebastian,

da ich SynEdit im Moment nicht installiert habe, habe ich das mal ohne Highlighter und mit TMemo nachgestellt:

Delphi-Quellcode:
var anzSQL:Integer = 0;
    Sheet : array of TTabSheet;
    SQLMemo : array of TMemo;

implementation

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);
begin
  SetLength(Sheet, anzSQL + 1);
  SetLength(SQLMemo, anzSQL + 1);
  // TabSheet erstellen
  Sheet[anzSQL] := TTabSheet.Create(PageControlSQL);
  Sheet[anzSQL].Parent := PageControlSQL;
  Sheet[anzSQL].PageControl := PageControlSQL;
  Sheet[anzSQL].Caption := '(Unbenannt)';
  // SQLMemo erstellen
  SQLMemo[anzSQL] := TMemo.Create(Sheet[anzSQL]);
  SQLMemo[anzSQL].Parent := Sheet[anzSQL];
  SQLMemo[anzSQL].Align := alClient;
  // SQLSyn erstellen
  // PageControl auf erstellen TabSheet stellen
  Inc(anzSQL);
  PageControlSQL.ActivePageIndex := PageControlSQL.PageCount - 1;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  if OpenDialogSQL.Execute then
  begin
    SQLMemo[PageControlSQL.ActivePageIndex].Lines.LoadFromFile(OpenDialogSQL.FileName);
    Sheet[PageControlSQL.ActivePageIndex].Caption := OpenDialogSQL.FileName;
    Sheet[PageControlSQL.ActivePageIndex].Font.Style := [];
  end; // if OpenDialogSQL.Execute then
end;
Funktioniert problemlos.

Jetzt bleiben meiner Ansicht nach nur noch zwei Möglichkeiten:
  1. Die Datei die eingelesen wird hat (inzwischen?) doch ein Problem
  2. Bei SynEdit müssen Besonderheiten beachtet werden, wenn man es dynamisch erzeugt.

Ich werd' mir noch mal SynEdit installieren und es dann noch einmal probieren.

BTW: Wird denn die Caption des TabSheets bei Dir korrekt angezeigt?
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat