Klassenobjekt direkt beim Programmstart erstellen in Visual Basic 6

Hallo zusammen ich habe mal folgende frage:

Ich habe ein globales Objekt der Klasse cls_TableCols:

Abfrage der Tabellen- und DB-Spalten Public tabCols As cls_TableCols

Diese Objektreferenz möchte ich diekt mit New mit einem Objekt belegen:

Set tabCols = New cls_TableCols

Es wäre gut, wenn man das auch in VB irgendwo beim Programmstart erledigen könnte, sonst habe ich nämlich vor jedem Zugriff zu prüfen, ob das Objekt überhaupt existiert.

Sorry, weiss ich nicht

hallo Mamoulian,

verwende dafür doch einfach das Singleton-Pattern. Das prüft dann bei jedem Zugriff automatisch, ob es das Objekt bereits gibt, falls nicht wird eins erzeugt
http://de.wikipedia.org/wiki/Singleton_%28Entwurfsmu…

grüße
Alexander

Hallo,

da hattest du bei mir einen schlechten Zeitpunkt erwischt - war ein paar Tage auf Firmenreise und hatte keine Internetverbindung (so unglaublich das auch heutzutage klingen mag) zur Verfügung. Hoffe, dass es dir dennoch hilft:

Du könntest eine sub main() verwenden. In dieser wird dann das Formular aufgerufen. Die sub main() ist in einem Modul untergebracht. Dort ist dies dann eine globale Variable. Du fügst zuerst deinem Projekt ein Modul hinzu. Dort erstellst du die sub main(). In dem Modul definierst du die globale Variable. In der sub main() kommt die Initialisierung. Dort erzeugst du dann ein Objekt deiner Form und öffnest diese:
dim x as new form1
x.show
x.setfocus (zur Sicherheit, dass die Form auch immer in den Vordergrund kommt).

Hast du hingegen „nur“ eine Form, mit der du arbeitest, könntest du dir das noch einfacher machen (vorausgesetzt du brauchst das Klassenobjekt auch nur innerhalb der Form): Es gibt die form load. (Private Sub Form1…). Diese wird ausgeführt, wenn das Formular geladen wird. Die Variable braucht dann nur im Formular global zu sein.

Gruß

Christian