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:
- Die Datei die eingelesen wird hat (inzwischen?) doch ein Problem
- 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?