AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Die Delphi-IDE Delphi Plugin - Form wird nicht angezeigt
Thema durchsuchen
Ansicht
Themen-Optionen

Delphi Plugin - Form wird nicht angezeigt

Ein Thema von Neutral General · begonnen am 28. Aug 2008 · letzter Beitrag vom 31. Aug 2008
 
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#1

Delphi Plugin - Form wird nicht angezeigt

  Alt 28. Aug 2008, 11:17
Hi,

Ich schreibe gerade ein kleines Delphi Plugin. Es funktioniert soweit auch ganz gut.
Im Menu der IDE wird ein neues Untermenu erstellt mit dem Namen meines Plugins und darin ist ein MenuItem namens "Anzeigen" (z.B)

Bevor ich mein Package installiere siehts so aus:

Code:
| Datei | Bearbeiten | ... | Hilfe |
dann installiere ich mein Package:

Code:
| Datei | Bearbeiten | ... | Hilfe | Mein Plugin |
                                   | Anzeigen   |
Soweit, so gut. Ich klicke auf das Anzeigen-MenuItem und mein Plugin Formular wird angezeigt

Jetzt schließe ich die IDE und starte sie wieder.

Das Menu:

Code:
| Datei | Bearbeiten | ... | Hilfe | Mein Plugin |
                                   | Anzeigen   |


Ich klicke auf "Anzeigen" und.....nichts.

Habe das ganze schon debuggt. Das OnClick des MenuItems wird ausgeführt. Aber das Formular wird nicht sichtbar.

Hier mal etwas Quelltext (verreinfacht, abstrahiert):
Delphi-Quellcode:
unit Plugin;

interface

uses PluginMenu;

// ...

implementation

procedure InitializePlugin;
begin
  PluginMenu.PluginMenuErstellen;
  // Form: TDockableForm;
  Form := TForm.Create(nil);
end;

procedure FinalizePlugin;
begin
  Form.Free;
end;

initialization
  InitializePlugin;

finalization
  FinalizePlugin;

end.
Delphi-Quellcode:
unit PluginMenu;

interface
  
procedure PluginMenuErstellen;

implementation

procedure PluginMenuErstellen;
var FMainMenu: TMainMenu;
    FPluginMenu,FAnzeigen: TMenuItem;
begin
  FMainMenu := (BorlandIDEServices as INTAServices).MainMenu;
  if FMainMenu = nil then
  begin
    ShowMessage('Kein MainMenu da');
    exit;
  end;

  FPluginMenu := TMenuItem.Create(FMainMenu);
  with FPluginMenu do
    Caption := 'Mein Plugin';
  FMainMenu.Items.Add(FPluginMenu);

  FAnzeigen := TMenuItem.Create(FPluginMenu);
  with FAnzeigen do
  begin
    Caption := 'Anzeigen';
    OnClick := MenuClick;
  end;
  FPluginMenu.Add(FAnzeigen);
end;

procedure TTicketMenu.MenuClick(Sender: TObject);
begin
  Form.ForceShow;
end;

end.
Also wie gesagt. Es funktioniert in der Session in der man das Plugin-Package installiert hat. Wenn man die IDE aber neustartet funktioniert Form.ForceShow (und alle anderen Varianten von Show) nicht. Form <> nil und Form.Left,Form.Top,Form.Width und Form.Height sind auch in Ordnung.



PS: Es handelt sich um eine Delphi 2007 IDE.
PS2: Habe dadurch, dass ich meine Form jetzt Modal anzeigen lasse etwas herausgefunden. Und zwar WIRD das Formular angezeigt, aber es ist unsichtbar

Gruß
Neutral General
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  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 06:22 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