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