chb1982
Goto Top

Globale Klasseneigenschaften

Moin zusammen,

hier eine Frage eines echten VB Anfängers. Die Experten hier werden die Krise kriegen, aber ich finde einfach keine passende Erklärung im Netz zu meiner Frage.
Also:
Ich habe
Form1.vb
frm_config.vb
class_config.vb

die class_config hat diverse Eigenschaften z.B. path_logfile

wenn ich jetzt innerhalb von Form1 ein Objekt aus class_config erzeuge und das als public deklariere kann ich natürlich innerhalb von Form1 auf die Eigenschaften zugreifen.

Wie kann ich diese aber auch von frm_config aus benutzen? Wenn ich da ein neues Objekt erzeuge habe ich natürlich nicht die Eigenschaften, die ich in Form1 gesetzt habe.

Ist mein Denkansatz so falsch? Wie "macht man" sowas denn sonst?

Gruß
Christoph

Content-Key: 135807

Url: https://administrator.de/contentid/135807

Printed on: April 26, 2024 at 04:04 o'clock

Member: SlainteMhath
SlainteMhath Feb 12, 2010 at 10:01:52 (UTC)
Goto Top
Moin,

du musst die Klasse ausserhalb einer anderen Klasse/Funktion definieren. Du musst dann nur darauf achten, das das neue Object
vor der ersten Verwendung richtig initialisert wird.

etwa so:
public blah as class_config

public function blubb()
  blah  = new class_config
  usw.
end function 

lg,
Slainte
Member: chb1982
chb1982 Feb 12, 2010 at 10:13:22 (UTC)
Goto Top
So habe ich das ja...
In deinem Beispiel würde das Objekt blah doch nur für Form1 gelten, nicht aber für die anderen.

Oberhalb von
Public Class Form1

kann ich aber nicht

public blah as class_config

deklarieren...
Member: MonoTone
MonoTone Feb 19, 2010 at 08:37:52 (UTC)
Goto Top
Nun, es kommt ganz drauf an was du genau willst..

eine Möglichkeit wäre, die Klasse als Parameter zu übergeben.
Beispiel (grob)

Public class Form1
Private frm2 as class2
private sub iwas..
dim cls as new class1
cls.myproperty = "MyValue" 'whatever  
frm2 = new Class2(cls)
frm2.show
End sub
end class

'frm2:   

Public Class Class2
Private Cls2 as Class2
Public Sub New(ByVal cls as Class2)
Cls2 = cls
End sub
'alternativ geht auch eine Methode/Eigenschaft zum Klassen übergeben  
end class