Main prozedur in Vb 2008 Express

08/04/2009 - 14:34 von Frank | Report spam
ich hab mir mal die neue vb Express Version installiert. Gibt es
eigentlich keine main Funktion mehr die man in einem Modul definieren kann.
Ich habe zar in Doku das Beispiel gefunden:

Module mainModule
Sub Main()
MsgBox("The Main procedure is starting the application.")
' Insert call to appropriate starting place in your code.
Debug.Print("hhh")
MsgBox("The application is terminating.")
End Sub
End Module



Allerdings wird sie nicht aufgerufen! Bei den Einstellungen kann ich
auch nur eine Form wàhlen. Ich wollte ne main wo ich erste globale
Variablen definiere und dann Form aufrufen, so wie`s noch in vb6 üblich
war. Wo ist denn da mein Fehler?


Mit besten Grüßen
Frank
 

Lesen sie die antworten

#1 Thorsten Doerfler
08/04/2009 - 14:54 | Warnen spam
Frank schrieb:
ich hab mir mal die neue vb Express Version installiert. Gibt es
eigentlich keine main Funktion mehr die man in einem Modul definieren kann.
Ich habe zar in Doku das Beispiel gefunden:

Module mainModule
Sub Main()
MsgBox("The Main procedure is starting the application.")
' Insert call to appropriate starting place in your code.
Debug.Print("hhh")
MsgBox("The application is terminating.")
End Sub
End Module



Allerdings wird sie nicht aufgerufen! Bei den Einstellungen kann ich
auch nur eine Form wàhlen.



Du musst zunàchst das Application Framework in den Eigenschaften
deaktivieren und kannst dann Sub Main() auswàhlen, zum Start Deiner
Anwendung. Allerdings bietet auch das Application Framework Ereignisse,
in die eingreifen kannst, wenn Deine Anwendung gestartet und Dein
Formular geladen wird. Beide Einstellungen erreichst Du über Project =>
Properties.

Ich wollte ne main wo ich erste globale
Variablen definiere und dann Form aufrufen, so wie`s noch in vb6 üblich
war.



Globale Variablen waren auch in VB6 nicht mehr üblich. Du solltest
weitestgehend darauf verzichten.

Auch auf Module würde ich verzichten. Das sind Altlasten, die aus der
VB6 Ära herübergerettet wurden und nichts in einem modernen OO Umfeld
verloren haben. Alternativ bieten sich sauber strukturierte Klassen mit
Shared Membern an. So wie Module auch von Compiler in etwas CLR
konformes umgesetzt werden. Mit dem Unterschied, dass Du hier mehr
Kontrolle über die Ablàufe, wie auch den Shared Konstruktor hast.
Einstellungen, die Du anwendungsweit verfügbar haben musst, kannst Du
hier über Shared Eigenschaften zur Verfügung stellen und somit
kontrollieren, wann diese geàndert werden. Bei globalen Variablen kann
es nette Überraschungen geben, wenn Werte versehentlich oder
beabsichtigt im Programmlauf geàndert werden.

Thorsten Dörfler
Microsoft MVP Visual Basic

vb-hellfire visual basic faq | vb-hellfire - einfach anders
http://vb-faq.de/ | http://www.vb-hellfire.de/

Ähnliche fragen