![]() |
DockTabSet auf Formular aus DLL, merkwürdiges Verhalten
Liste der Anhänge anzeigen (Anzahl: 2)
Hey,
zugegeben es ist ein recht spezielles problem, aber es nervt mich dass ich keine vernünftige Lösung dafür bekomme. Ich habe mich an diesem Artikel ![]() Falls also irgendwer weiß, warum das DockTabSet in DLL's ein merkwürdiges Verhalten zeigt, würde ich mich über Lösungen freuen. Hier noch die Methode zum erzeugen der gedockten Formulare nach dem erzeugen des Formulars
Delphi-Quellcode:
Danke im Voraus und viele Grüße
procedure TFormMacroController.AddDockElement(AForm: TForm;
ADockSite, ADropControl: TWinControl; AAlign: TAlign); begin with AForm do begin BorderStyle := bsSizeToolWin; DragKind := dkDock; DragMode := dmAutomatic; UseDockManager := true; ManualDock(ADockSite, ADropControl, AAlign); // Align := alClient; end; end; procedure TFormMacroController.LoadDefaultDockLayout; begin // Global Variables if Assigned(FVarInspector) then FVarInspector.Free; FVarInspector := TDataModuleInspector.Create(self); FDockClients[VAR_INSPECTOR_CLIENT] := FVarInspector; with FDockClients[VAR_INSPECTOR_CLIENT] do FDefaultDockSetup[VAR_INSPECTOR_CLIENT] := Point(LRDockWidth, TBDockHeight); with FVarInspector do begin Caption := 'Global Variables'; ShowBtnPanel := false; ShowToolBar := false; ShowMemory := false; OnClose := DataModuleInspectorPreventClose; OnHide := DataModuleInspectorTreatHide; OnDestroy := OnInspectorDestroy; OnEndDock := OnInspectorDocked; OnVisibleChanging := DataModuleInspectorTreatVisibleChanging; DMTree.Header.Columns[0].Width := Width div 2 - 5; DMTree.Header.Columns[1].Width := Width div 2 - 5; end; AddDockElement(FVarInspector, FDockPanels[DOCK_PANEL_RIGHT], DockTabSetRight, alClient); // FVarInspector.ManualDock(FDockPanels[DOCK_PANEL_RIGHT]); SetVarInspectorVariables(CurrentMacro); // Executable Info Inspector if Assigned(FExecutableInspector) then FExecutableInspector.Free; FExecutableInspector := TDataModuleInspector.Create(self); FDockClients[EXEC_INSPECTOR_CLIENT] := FExecutableInspector; with FDockClients[EXEC_INSPECTOR_CLIENT] do FDefaultDockSetup[EXEC_INSPECTOR_CLIENT] := Point(LRDockWidth, TBDockHeight); with FExecutableInspector do begin Caption := 'Executable Inspector'; ShowBtnPanel := false; ShowToolBar := false; ShowMemory := false; OnClose := DataModuleInspectorPreventClose; OnHide := DataModuleInspectorTreatHide; OnDestroy := OnInspectorDestroy; OnEndDock := OnInspectorDocked; OnVisibleChanging := DataModuleInspectorTreatVisibleChanging; DMTree.Header.Columns[0].Width := Width div 2 - 5; DMTree.Header.Columns[1].Width := Width div 2 - 5; end; AddDockElement(FExecutableInspector, FDockPanels[DOCK_PANEL_LEFT], DockTabSetLeft, alClient); // FExecutableInspector.ManualDock(FDockPanels[DOCK_PANEL_LEFT]); // Message Client if Assigned(FMessageClient) then FMessageClient.Free; FMessageClient := TMessageForm.Create(self); FDockClients[MESSAGE_CLIENT] := FMessageClient; with FDockClients[MESSAGE_CLIENT] do FDefaultDockSetup[MESSAGE_CLIENT] := Point(LRDockWidth, TBDockHeight); with FMessageClient do begin Caption := 'Messages'; OnClose := DataModuleInspectorPreventClose; OnHide := DataModuleInspectorTreatHide; OnDestroy := OnInspectorDestroy; OnEndDock := OnInspectorDocked; OnVisibleChanging := DataModuleInspectorTreatVisibleChanging; end; AddDockElement(FMessageClient, FDockPanels[DOCK_PANEL_BOTTOM], DockTabSetBottom, alClient); // FMessageClient.ManualDock(FDockPanels[DOCK_PANEL_BOTTOM]); SetStatusMessages(CurrentMacro); FVarInspector.Show; FExecutableInspector.Show; FMessageClient.Show; end; Sebastian |
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:30 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz