Des mit der eigenen Klasse, bzw. bei einfachen Werten reicht auch nen Struct wenn man eher Wertetyp Verhalten erwartet, ist auf jeden Fall die bessere Variante.
Wobei ich nicht wie cin_off den Weg über dein allNeu ArrayList gehen würde(wobei der Code zum speichern auch noch falsch ist), sondern gleich mit dem 2 dimensionalen Array arbeiten würde.
DestroyWindow ist Windows-API. Wenn du ein Winform hast, rate ich dringend davon ab, DestroyWindow zu benutzen. Dispose() zerstört das Fenster auch (wird intern wohl DestroyWindow aufrufen) aber beseitigt auch die Komponenten auf der Form, die amsonsten noch Betriebssystem-Handles halten. In .Net gilt grundsätzlich: Alles was man zerstören muss, mit Dispose(). Manchmal heißt Dispose() auch Close(), zum Beispiel bei den Streams.
EEENDLICH weiß ich, wie das geht! Ich hab immer nen Doppelklick druff gemacht und es war sooo umständlich.
Jetzt kann ich mind. 50% schneller Codekloppen.
Euer freundlicher Ghetto Coder.
Nein, Dispose() wird nicht automatisch aufgerufen. Was automatisch aufgerufen wird, ist Finalize(), das kann dann Dispose() aufrufen (musst du aber selber so coden). Nur IDisposable implementieren reicht dann nicht.
Der Sinn von Dispose() ist aber gerade eben, nicht auf den GC zu warten, also Dispose() im Code aufzurufen.
http://msdn2.microsoft.com/en-us/library/fs2xkftw.aspx
http://msdn2.microsoft.com/en-us/library/ddae83kx.aspx
hatte das prob auch mal aber in einem etwas anderen kontext (wollte was schnell zeichnen und hat trotz db geflackert). Ich has dann etwas umständlich über die API gelöst... ABER es hat funktioniert:
hab den Code jetzt nicht bei der Hand aber wenn du mir n bisschen zeit gibtst treib ich den wieder auf.
irgendwie so in der Art:
in ner neuen Klasse:
[DllImport("<weißichnichtmehrgenau.dll>")]
public static extern void LockWindowUpdate(IntPtr hwnd);
du musst für DllImport() irgendeinen namespace einbinden... ich glaub es war InteropServices...
bevor du das panel leerst schreibst du dann (gesetzt dem fall die neue klasse heißt 'Api') :
Api.LockWindowUpdate(panel.Handle);
und nach dem wiederauffüllen:
Api.LockWindowUpdate((IntPtr)0); //Gibt Fenster wieder frei
sry für die Ungenauigkeiten aber ich guck nach ob ich den code noch finde
also ich hab mal sowas wie nen eigenen kleinen explorer ausprogrammiert da hab ichs auch so gemacht wie in dem link oben
Ein weiteres Beispiel dafür das das Framework ohne API noch nicht auskommt
Im Smarttag PropertyBuilder anwählen. Dann Columns anklicken und da ButtonColumn erweitern. Den Rest solltest Du dann sehen.
Schreib besser das nächste mal mit rein, dass es sich um ASP.NET handelt.
Hallo!
Ist es möglich einen Windows Dienst und eine normale GUI Anwendungen in eine ausführbare Datei zu packen?
Es soll so funktionieren, dass wenn ich die exe als Dienst installiere sie als Dienst laufen soll und wenn ich sie normal ausführe sie als GUI Anwendung funktionieren soll.
Ich verwende .NET 2.0 VS 2005 und VB 2005 (C# sollte auch kein Problem sein)
MfG DasJay
Aber vorsicht beim Datumswert 0000-00-00 00:00:00.
Da ist ein Fehler im Connector.
Der kleineste Wert im MET.Framework ist: 0000-00-00 01:00:00
Ich habe mir deshalb den Connector umgeschrieben und er macht aus 0000-00-00 00:00:00 dann 0000-00-00 01:00:00.
Wenn du aber den Werte 0000-00-00 00:00:00 in einem Datetime in der DB hast sollte es keine Probleme geben.
Nein, das ist nicht das Problem, sondern nur die Schriftart, da "Microsoft Sans Serif" zwar einige Unicode-Zeichen darstellt (z.B. arabisch oder hebräisch), aber nicht so viele wie "Arial Unicode MS", da wie gesagt "japanische" oder "chinesische" Zeichen nicht dargestellt werden.
Ich frage mich, was auf chinesischen Windows-Systemen dann in den MessageBoxen steht?
Wahrscheinlich ist die System-Schriftart dann eine andere...