Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C++CLI / VB .Net / .Net-Framework » Objekt/klasse/deklaration

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
25.01.2004, 23:02 Uhr
~Snakebite
Gast


hi,

habe folgendes problem:

in meiner calsse VAR steht als deklaration unter anderem dieser code:


Code:
public class Var
{
   public OleDbConnection DBCon = new OleDbConnection();

   public Var()
   {
   }
}



unter Class Form1 habe ich ein objekt dazu erstellt:


Code:
Var objekt = new Var();



und auf button_click soll folgendes passieren:

Code:
objekt.DBCon.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Password=;User ID=Admin;Data Source=C:\\blA.mdb";



soweit funzt alles gut. keine probleme. beim starten jedoch gibt es eine fehlermeldung, also erst zur laufzeit:


Code:
Eine nicht behandelte Ausnahme des Typs 'System.StackOverflowException' ist in test.exe aufgetreten.



warum, was habe ich falsch gemacht?

meine idee ist die:

eine klasse zu haben in der all objekte, variablen deklariert sind.
so kann ich, da meine anwendung viele forms hat, immer auf dieses objekt der bestimmten klasse zugreifen.
im quellcode wird es auch schön erkannt. ich kann auf die variablen der klasse zugreifen, aber zur laufzeit dieser fehler eben?

danke euch.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
26.01.2004, 15:01 Uhr
Bruder Leif
dances with systems
(Operator)


Moin!

Ich denke mal, was Du suchst, sind statische Variablen. Probiers mal mit nem static-Constructor und schreib DBCon als static um. Dann brauchst Du kein Objekt mehr zu instantiieren und kannst direkt mit dem Klassennamen arbeiten...
--
Mit 40 Fieber sitzt man nicht mehr vor dem PC.
Man liegt im Bett.
Mit dem Notebook.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
26.01.2004, 18:36 Uhr
~Snakebite
Gast


also ich will einfach einmal meine sachen deklarieren und von verschiedenen forms auf diese zugreifen ohne jedes mal z.b eine neue dbconnection aufbauen zu müssen.

bsp:

beim laden der Form1 wird eine connection erstellt, also DBCon.ConnectionString = "blabla"

aber erst bei Form2 soll DBCon.Open(); ausgeführt.
ich will aber nicht bei der Form2 schon wieder den ConString einhacken.
einfach drauf zugreifen.

???
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
26.01.2004, 22:03 Uhr
Bruder Leif
dances with systems
(Operator)


Dann probiers mit statischen Methoden und Variablen:


C++:
public class Var
{
   public static OleDbConnection DBCon = null;

   public static Var()
   {
      DBCon = new OleDbConnection();
   }
}

// Aufruf über Var.DBCon.irgendwas...


--
Mit 40 Fieber sitzt man nicht mehr vor dem PC.
Man liegt im Bett.
Mit dem Notebook.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
28.01.2004, 12:48 Uhr
~Snakebite
Gast


ok, ich probiers.
danke für den tipp.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
28.01.2004, 13:29 Uhr
~Snakebite
Gast


ok, soweit funzt es .... dennoch gibt es etwas was nicht verstehe.

in Form1 weise ich


Code:
Var.DBCon.ConnectionString = "blabla";



es wird dann die Form 2 mal aufgerufen.
dor soll dann


Code:
Var.DBCon.Open();



ausgeführt werden. läuft aber auf fehler, obwohl ConnectionString bereits bekannt und zugewiesen wurde. bei der ÜBERWACHUNG stelle ich fest, dass ConnectionString dann ="" ist .... warum????? ist doch static, warum geht der wert verloren?
wie kann ich ihn zuweisen, dass er "gespeichert" bleibt????

danke
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C++CLI / VB .Net / .Net-Framework ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: