Einzelnen Beitrag anzeigen

Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.343 Beiträge
 
Delphi 11 Alexandria
 
#16

AW: OTA - komplexer Experte

  Alt 17. Jun 2020, 08:57
Ich habe jetzt nicht geprüft, wo der ShortCut ggf. priorisiert registriert wird, aber zumindest eine Lösung umgesetzt.

Zum Einen wird das Menü mit ShortCut erstellt und dann nochmal ein analoges KeyBinding für den selben ShortCut eingerichtet.

Im Wizard sieht das dann so aus:

Delphi-Quellcode:
procedure Register;
begin
  RegisterPackageWizard(TOTAUnitOptimizerWizard.Create);
  TQuickSearchForm.CreateDockForm;
  TFullSearchForm.CreateDockForm;
  
  uoMenues.Initialize; // <----
  (BorlandIDEServices as IOTAKeyboardServices).AddKeyboardBinding(uoBindings); // <----

end;

function InitWizard(const BorlandIDEServices: IBorlandIDEServices; RegisterProc: TWizardRegisterProc;
  var Terminate: TWizardTerminateProc): Boolean stdcall;
begin
  RegisterProc(TOTAUnitOptimizerWizard.Create);
  RegisterProc(TQuickSearchExpert.Create);
  TQuickSearchForm.CreateDockForm;
  RegisterProc(TFullSearchExpert.Create);
  TFullSearchForm.CreateDockForm;

  uoMenues.Initialize; // <----
  (BorlandIDEServices as IOTAKeyboardServices).AddKeyboardBinding(uoBindings); // <----

  Result := True;
end;
Die .pas, in der das dann realisiert wird, habe ich mal angehängt.

Das ist so ganz übersichtlich (finde ich) und funktioniert.
Lediglich die Freigabe der Objekte musste ich ausklammern, da dies sonst zu einer Zugriffsverletzung beim Schließen von Delphi führt.

Ich denke, damit kann ich leben. Falls jemand eine bessere Lösung kennen sollte, dann immer her damit.


Mit meinem Wizard bin ich dann soweit fertig, dass alles funktionelle grundsätzlich drin ist.

Fehlen jetzt noch ein Installer, Updater und natürlich die eigentliche logische Funktionalität (die hatte ich ja schon mal relativ fertig umgesetzt).
Angehängte Dateien
Dateityp: pas uoMenus.pas (4,5 KB, 3x aufgerufen)
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat