![]() |
[IDE-Experte (2006,07,09,10,XE,XE2)] CustomHelp
CustomHelp (2.irgendwas :))
... ist ein IDE Experte, der die Delphi Hilfe um ein paar nützliche Funktionen erweitert. Was soll das? Du "stehst" in deinem Quellcode und brauchst Hilfe zu einer bestimmten Funktion. Du drückst F1 und bekommst deine vertraute Delphi Hilfe. Jetzt hättest du natürlich auch gern ein Beispiel zu deren Anwendung oder du fragst dich, ob jemand in der DP schonmal das gleiche Problem damit hatte mit dem du dich gerade herumschlägst. Oder du sehnst dich nach der "alten" Delphi 7 Hilfe. Also musst du die vertraute schützende Umgebung deiner IDE (ja das ist doppelt gemoppelt) verlassen und dich durch die verschiedenen Suchmaschinen und Hilfedateien hangeln. Hier hilft CustomHelp. Der Assistent fasst deine Suchanfrage in einem niedlichen kleinen Fenster zusammen, von dem aus du in deinen Lieblingssuchmaschinen und Hilfedateien blättern kannst. Die Features im Überblick ... oder warum sollte ich weiterlesen? (Für alle die lieber Video gucken anstatt zu lesen ... siehe unten. :))
Wie (de-)installiere ich CustomHelp? Am einfachsten ist es über das ![]() ![]() ![]() Dann einfach das Package (auf ![]() Vorher sollte man auf gleiche Weise TUOCommon installieren. ( ![]() Alles weitere über die Benutzung erfahrt ihr im Video (siehe unten) Vorschläge für Hilfe-Provider (bitte die URLs aus den Links kopieren)
Known Issues
FAQ
Danke an ...
Viel Spaß damit. wünschen Marco und Benny Videos ![]() ![]() ![]() |
Re: [IDE-Experte] CustomHelp
Zitat:
Zuerst prüfen, ob die WelcomePage nicht deaktiviert ist:
Delphi-Quellcode:
Dann braucht's zwei Interfaces, die per Standard offenbar nicht dabei sind/waren. Ich habe sie - glaube ich - in einem der Blogs eines Borland/CodeGear/Embarcadero-Mitarbeiter gefunden. Die Code-Kommentare habe ich mal drin gelassen, sie stamm,en nicht von mir.
function TDPxHBConfig.WPIsEnabled : boolean;
begin result:= (GetModuleHandle( 'startpageide100.bpl' ) > 0) // Delphi 2007 OR (GetModuleHandle( 'startpageide120.bpl' ) > 0) // Delphi 2009 OR (GetModuleHandle( 'startpageide140.bpl' ) > 0); // Delphi 2010 end;
Delphi-Quellcode:
Und nun geht's auch schon los:
IURLModule = interface
['{9D215B02-6073-45DC-B007-1A2DBCE2D693}'] procedure Close; function GetURL: string; // tested procedure SetURL(const AURL: string); // tested procedure SourceActivated; function GetWindowClosingEvent: TWindowClosingEvent; // WARNING!!! DO NOT CALL!!! procedure Proc1; procedure Proc2; procedure Proc3; procedure Proc4; procedure Proc5; property URL: string read GetURL write SetURL; end; IDocModule = interface ['{60AE6F18-62AD-4E39-A999-29504CF2632A}'] procedure AddToProject; function GetFileName: string; procedure GetIsModified; function GetModuleName: string; procedure Save; procedure Show; // doesn't seem to work properly... procedure ShowEditor(Visible: Boolean; const Filename: string); procedure GetProjectCount; procedure GetProject; procedure GetActiveProject; property Filename: string read GetFilename; property ModuleName: string read GetModuleName; end;
Delphi-Quellcode:
Falls die WelcomePage zwar geladen, aber gerade geschlossen ist, kann man sie mit folgendem Code anzeigen:
function TDPxHBIDEWizard.GoURL(const URL: string) : boolean;
var ModuleServices: IOTAModuleServices; Module: IOTAModule; I: Integer; mIdx : integer; URLModule: IURLModule; DocModule: IDocModule; begin if NOT WPVisible then ShowWP; result:= FALSE; mIdx:= -1; ModuleServices := BorlandIDEServices as IOTAModuleServices; for I := 0 to ModuleServices.ModuleCount-1 do begin Module:= ModuleServices.Modules[I]; if Supports(Module, IURLModule, URLModule) then begin if Supports(Module, IDocModule, DocModule) then begin URLModule.URL:= URL; result:= TRUE; mIdx:= i; BREAK; end; end; end; if (mIdx > -1) AND (mIdx < ModuleServices.ModuleCount) then ModuleServices.Modules[mIdx].Show; end;
Delphi-Quellcode:
procedure TDPxHBIDEWizard.ShowWP;
var IDEService : INTAServices; actList : TCustomActionList; idx : integer; act : TContainedAction; begin IDEService:= (BorlandIDEServices AS INTAServices); actList:= IDEService.ActionList; for idx:= 0 to actList.ActionCount-1 do begin act:= actList.Actions[idx]; if act.Name = 'ViewWelcomePageCommand' then act.Execute; end; end; Ich hoffe, das hilft ein wenig. :-) |
Re: [IDE-Experte] CustomHelp
Hallo und vielen Dank,
eigentlich wussten wir ja, daß Du weißt wie es geht ... aber wir haben aus Ehrfurcht nicht gefragt ;-) Mal sehen ob wir Morgen zum einbauen kommen. gut's Nächtle. |
Re: [IDE-Experte] CustomHelp
Zitat:
|
Re: [IDE-Experte] CustomHelp
Und da sind wir wieder.
Neue Features: - Unterstützung der alten Win32 Hilfe (z.B. Delphi 7 Hilfe (wer die so mochte) und verschiedene Hilfen von Komponentenanbietern) - Anzeige des Suchresultats auf der Welcomepage (na endlich hat die mal nen Sinn ;-) ) Eine Beispiel-Konfiguration sieht so aus: ![]() |
Re: [IDE-Experte] CustomHelp
Zwei Dinge:
1. Ladet das Projekt hier hoch. und b) gibts das auch auf Deutsch? Edith hat noch ein III: Ich finde es ziemlich schade, daß Ihr gleich mal Null Kommentare da drin habt. Da kann man eigentlich nicht wirklich von lernen. Zum Projekt an sich aber :thumb: Sherlock |
Re: [IDE-Experte] CustomHelp
Danke für das Lob. :)
Was die anderen Punkte angeht: Wir wollen es nicht an 2 Stellen pflegen (funktioniert aus Erfahrung nicht) ... deshalb gibts hier nur den Link auf das Original. Deutsch? Och nö ... wir sind doch alle Entwickler und das bißchen Englisch verträgt man noch. Und die Kommentare ... Das Tool ist gestern innerhalb eines halben Tages neben der Jahresinventur unseres Brötchengebers her entstanden. Das war so ein Hin-und-Herspringen zwischen dem Telefon, IBExpert und Delphi. Daher sieht der Code auch weniger schön aus. Aber ich werd mal sehen, ob da noch ein paar Kommentare reinkommen. :) |
Re: [IDE-Experte] CustomHelp
So, es hat sich wieder einiges getan:
|
Re: [IDE-Experte] CustomHelp
Das Resultat unserer morgentlichen Bemühungen
|
Re: [IDE-Experte] CustomHelp
Hallo,
dieses Plugin ist ja super! :thumb: Wenn so etwas doch mal als Standard dabei wäre ;) Ich bin gerade dabei alle Hilfen einzubinden und dabei sind mir ein paar Sachen/Probleme aufgefallen:
-- CU, Andre |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:47 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