Mit diesem Code erstelle ich ein paar Komponenten:
Globale Variablen:
Delphi-Quellcode:
var anzSQL:Integer = 0;
Sheet : array of TTabSheet;
SQLMemo : array of TSynMemo;
SQLSyn : array of TSynSQLSyn;
Komponenten erstellen:
Delphi-Quellcode:
procedure TFrameDB.ButtonSQLNeuClick(Sender: TObject);
begin
SetLength(Sheet, anzSQL + 1);
SetLength(SQLMemo, anzSQL + 1);
SetLength(SQLSyn, 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] := TSynMemo.Create(Sheet[anzSQL]);
SQLMemo[anzSQL].Parent := Sheet[anzSQL];
SQLMemo[anzSQL].Align := alClient;
SQLMemo[anzSQL].RightEdge := 80;
// SQLSyn erstellen
SQLSyn[anzSQL] := TSynSQLSyn.Create(nil);
SQLMemo[anzSQL].Highlighter := SQLSyn[anzSQL];
// PageControl auf erstellen TabSheet stellen
Inc(anzSQL);
PageControlSQL.ActivePageIndex := PageControlSQL.PageCount - 1;
end;
Das klappt auch alles. Kompos werden erzeugt ohne Fehler
Wenn ich aber das ausführe, wird nichts geladen:
Delphi-Quellcode:
procedure TFrameDB.ButtonSQLLoadClick(Sender: TObject);
begin
if OpenDialogSQL.Execute then
begin
TSynMemo(SQLMemo[PageControlSQL.ActivePageIndex]).Lines.LoadFromFile(OpenDialogSQL.FileName);
TTabSheet(Sheet[PageControlSQL.ActivePageIndex]).Caption := OpenDialogSQL.FileName;
TTabSheet(Sheet[PageControlSQL.ActivePageIndex]).Font.Style := [];
end; // if OpenDialogSQL.Execute then
end;
Woran kann das liegen?????