Einzelnen Beitrag anzeigen

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, 21: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