Hallo ich habe ein PageControl in der ich immer bei bedarf ein neuen Tabsheet erstelle mit einem TSynEdit drin.
Das mache ich so:
Aufruf:
CreateTab('Leer', 'Dokument');
Funktion sieht so aus:
Delphi-Quellcode:
function THTML.CreateTab(sURL, sCaption: string): TTabSheet;
var
ts: TTabSheet;
WB: TSynEdit;
begin
// Create a new TabSheet
ts := TTabSheet.Create(PageControl3);
Result := ts;
try
// Assign TTabSheet Properties
ts.PageControl := PageControl3;
ts.Parent := PageControl3;
ts.Caption := sCaption;
ts.PageIndex := PageControl3.ActivePageIndex + 1;
// Create a instance
WB := TSynEdit.Create(ts);
// put TWebbrowser on TTabSheet
TControl(WB).Parent := ts;
// or: Ts.InsertControl(WB);
// Properties
WB.Align := alClient;
WB.Highlighter:=htmledit.Highlighter;
WB.Visible := True;
PageControl3.ActivePage := ts;
except
ts.Free;
end;
end;
So weit so gut...
So jetzt habe ich eine Funktion GetCurrentEdit
So deklariert:
Delphi-Quellcode:
public
function GetCurrentEdit: TSynEdit;
Ausehen tut sie So:
Delphi-Quellcode:
function THTML.GetCurrentEdit: TSynEdit;
begin
Result := nil;
with PageControl3 do
if ActivePage.ControlCount > 0 then
begin
if ActivePage.Controls[0] is TWebbrowser then
begin
Result := (TSynEdit(ActivePage.Controls[0]));
end else
Result := HTMLCodeEditor;
end;
end;
HTMLCodeEditor ist übrigens so deklariert:
Delphi-Quellcode:
private
{ Private-Deklarationen }
HTMLCodeEditor: TSynEdit;
So in dem OnChanging Event von PageControl3 mache ich dieses
Delphi-Quellcode:
procedure THTML.PageControl3Changing(Sender: TObject;
var AllowChange: Boolean);
begin
// Get the Previous (Current) Webbrowser
with PageControl3 do
if ActivePage.ControlCount > 0 then
if ActivePage.Controls[0] is TSynEdit then
HTMLCodeEditor := GetCurrentEdit;
end;
So und wenn ich jetzt mit dem Aktiven HTMLCodeEditor was machen möchte schmiert mir immer das Programm ab z.B wollte ich einfach nur
HTMLCodeEditor.lines.clear sagen aber es schmiert immer ab....
Kann mir da bitte jemand helfen?
Wo ist den der riesen Fehler???? Bitte helft mir
Danke Flo
[edit=alcaeus]Fuer Delphi-Code gibts die [.delphi]-Tags, nicht die [.code]-Tags Mfg, alcaeus[/edit]