AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen .NET-Sprachen Prism Prism XE2.5 - MenuStrip verschwindet nach Programmausführung
Thema durchsuchen
Ansicht
Themen-Optionen

Prism XE2.5 - MenuStrip verschwindet nach Programmausführung

Ein Thema von MGC · begonnen am 28. Mai 2012 · letzter Beitrag vom 3. Jun 2012
Antwort Antwort
Benutzerbild von MGC
MGC

Registriert seit: 15. Mai 2008
Ort: Helsa
106 Beiträge
 
Turbo Delphi für Win32
 
#1

Prism XE2.5 - MenuStrip verschwindet nach Programmausführung

  Alt 28. Mai 2012, 00:10
Hallo zusammen,
ich teste gerade Delphi Prism und stolpere beständig über das gleiche Problem.
Lege ich einen MenuStrip an, füge ein Menu und einen Menupunkt (Beenden) hinzu, dann scheint noch alles okay.
Doch fülle ich das Click-Ereignis mit self.Close, dann sind sämtliche MenuStrip-Einträge anschließend in der IDE verschwunden. Obwohl sie im Code noch verfügbar sind, bekomme ich sie einfach nicht mehr angezeigt. Nach erneutem Compilieren sind sie dann auch im ausfgeführten Form weg.

Mache ich etwas falsch oder handelt es sich hier um einen bug? Und wie kann ich diesen ärgerlichen Umstand umgehen?

Schmeiße ich nämlich die entsprechenden Codezeilen manuell raus, bekomme ich die Exe-Assembly gar nicht mehr compiliert.
Marc
Programmieren ist wie Chemie:
1. Wenn man alles einfach nur zusammenschmeisst kommt es zu unerwarteten Reaktionen.
2. Wenn es plötzlich anfängt zu qualmen, muss man eben noch mal von vorn anfangen.

Geändert von MGC (28. Mai 2012 um 00:38 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.641 Beiträge
 
#2

AW: Prism XE2.5 - MenuStrip verschwindet nach Programmausführung

  Alt 29. Mai 2012, 08:32
Stehen die Menüeintrage im [FormName].Designer.pas - File noch drin?
Die Datei ist für den Designer und zur Laufzeit relevant für alles, was mit dem Form zu tun hat.

Leitet Deine Klasse von was anderem als System.Windows.Forms.Form ab? (Ein bekanntes Problem mit dem WinForms Designer im VS, auf die Idee kommt anscheinend aber auch nur Delphianer).

Wird InitializeComponent in dem Code-Teil der Partial class aufgerufen? (Das ist die Methode im Designer-File, die die ganzen Controls initialisiert).
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
Benutzerbild von MGC
MGC

Registriert seit: 15. Mai 2008
Ort: Helsa
106 Beiträge
 
Turbo Delphi für Win32
 
#3

AW: Prism XE2.5 - MenuStrip verschwindet nach Programmausführung

  Alt 29. Mai 2012, 22:27
Hallo Sebastian,

vielen Dank für Deine Antwort.

Stehen die Menüeintrage im [FormName].Designer.pas - File noch drin?
Die Datei ist für den Designer und zur Laufzeit relevant für alles, was mit dem Form zu tun hat.
Ja, hier stehen die Menü-Einträge noch drin. Als das große Verschwinden begonnen hat, hab eich nach einigen Versuchen sämtliche Verweise aus der Main.pas und der Main.Designer.pas entfernt. Woraufhin sich die Anwendung gar nicht mehr compilieren ließ.
Habe ich die Einträge drin gelassen und einfach wieder gleichnamige Einträge dem MenuStrip hinzugefügt, wurden diese mit einer 1 am Ende erneut hinzugefügt (was ich auch in gewisser Weise irgendiwe erwartet hatte. Also 1.-Eintrag: dateiToolStripMenuItem / erneuter 2.-Eintrag: dateiToolStripMenuItem1)


Leitet Deine Klasse von was anderem als System.Windows.Forms.Form ab? (Ein bekanntes Problem mit dem WinForms Designer im VS, auf die Idee kommt anscheinend aber auch nur Delphianer).
Sämtliche von mir verwendeten visuellen Komponenten wurden bisher nur über die IDE eingefügt und keien Ableitung verändert. Hab es auch nochmals geprüft, die Basisklasse ist System.Windows.Forms.Form.

Wird InitializeComponent in dem Code-Teil der Partial class aufgerufen? (Das ist die Methode im Designer-File, die die ganzen Controls initialisiert).
Ja, wird aufgerufen und steht am Ende der Partial Class
Delphi-Quellcode:
type
  MainForm = partial class
  {$REGION Windows Form Designer generated fields}
  private
    components: System.ComponentModel.Container := nil;
    toolStripContainer1: System.Windows.Forms.ToolStripContainer;
    tsslARCSatus: System.Windows.Forms.ToolStripStatusLabel;
    ARCstatusStrip: System.Windows.Forms.StatusStrip;
    MainMenuStrip: System.Windows.Forms.MenuStrip;
    toolStrip1: System.Windows.Forms.ToolStrip;
    dateiToolStripMenuItem: System.Windows.Forms.ToolStripMenuItem;
    beendenToolStripMenuItem: System.Windows.Forms.ToolStripMenuItem;
    method InitializeComponent;
  {$ENDREGION}
  end;
Seltsam, spiele nebenher mit der IDE udn heute habe ich den Fehler noch nicht reproduzieren können. Das Menü wurde zwar mal in der IDE nicht mehr angezeigt, war jedoch nach dem compilieren immer wieder vorhanden. Und nach Anklicken der Komponente im Bereich für nicht-visuelle Komponenten, ist der MenuStrip auch im Form-Designer wieder erschienen.
Ich habe noch immer keine Ahnung woher das seltsame Verhalten kam.

Im Form-Designer habe ich bisher nur wenig experimentiert. Taste mich dort erst einmal langsam heran. Allerdings habe ich im Bereich statisches und dynamisches Linken der Assemblies, sowie Assemblies laden mit late Binding bereits viel mehr Zeit invesitiert. Schließlich hat mich für die Portierung meiner Labor-Applikationen die Art der Implemtierung meines Schnittstellensystems in .NET brennend interssiert.
Ich muss schon zugeben, Module lassen sich in .NET mit sehr viel weniger Aufwand in die Kernanwendung einbinden.

Viele Grüße,
Marc
Marc
Programmieren ist wie Chemie:
1. Wenn man alles einfach nur zusammenschmeisst kommt es zu unerwarteten Reaktionen.
2. Wenn es plötzlich anfängt zu qualmen, muss man eben noch mal von vorn anfangen.
  Mit Zitat antworten Zitat
Benutzerbild von MGC
MGC

Registriert seit: 15. Mai 2008
Ort: Helsa
106 Beiträge
 
Turbo Delphi für Win32
 
#4

AW: Prism XE2.5 - MenuStrip verschwindet nach Programmausführung

  Alt 3. Jun 2012, 17:26
Das Problem scheint gelöst zu sein. Während mich dieses Verschinden des MenuStrips anfangs regelmäßig heimgesucht hat und dann plötzlich nicht mehr vorkam, habe ich nochmals alle möglichen Änderungen nachverfolgt und festgestellt, dass mehrere Updates im Bereich .NET-Framework und auch Visual Studio direkt vor dem Ausbleiben des Problems installiert wurden.

Möglicherweise hing es damit zusammen.
Dennoch vielen Dank für die schnellen Antworten und Hilfestellungen.
Marc
Programmieren ist wie Chemie:
1. Wenn man alles einfach nur zusammenschmeisst kommt es zu unerwarteten Reaktionen.
2. Wenn es plötzlich anfängt zu qualmen, muss man eben noch mal von vorn anfangen.
  Mit Zitat antworten Zitat
Antwort Antwort


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 19:00 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz