AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte [IDE-Experte (2006,07,09,10,XE,XE2)] CustomHelp
Thema durchsuchen
Ansicht
Themen-Optionen

[IDE-Experte (2006,07,09,10,XE,XE2)] CustomHelp

Ein Thema von chaosben · begonnen am 29. Sep 2009 · letzter Beitrag vom 8. Jan 2014
 
Daniel
(Co-Admin)

Registriert seit: 30. Mai 2002
Ort: Hamburg
13.920 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: [IDE-Experte] CustomHelp

  Alt 29. Sep 2009, 18:13
Zitat von chaosben:
Falls ihr noch Vorschläge habt (z.B. wie man eine URL auf der WelcomePage öffnet) ... immer her damit.
Das habe ich doch irgendwo schon mal gemacht ... ... ...

Zuerst prüfen, ob die WelcomePage nicht deaktiviert ist:

Delphi-Quellcode:
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;
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.

Delphi-Quellcode:
  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;
Und nun geht's auch schon los:

Delphi-Quellcode:
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;
Falls die WelcomePage zwar geladen, aber gerade geschlossen ist, kann man sie mit folgendem Code anzeigen:

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 = 'ViewWelcomePageCommandthen
      act.Execute;
  end;
end;

Ich hoffe, das hilft ein wenig.
Daniel R. Wolf
mit Grüßen aus Hamburg
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:15 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