Laden...

Forenbeiträge von Franknstein Ingesamt 529 Beiträge

28.07.2004 - 19:19 Uhr

Witzig finde ich, dass es ein Dinosaurier wie Fortran (von Anfang an dabei) bis in unsere heutige Zeit geschafft hat und sich immer noch größer Beliebtheit erfreut.

Was meinst du mit großer Beliebtheit? Habe kaum was davon gehört außer dass man mit Fortran echt nur rechnen kann, denn Fortran kennt keine Aus und Eingabe, es kennnt nichtmal Zeichenketten! (Glaube ich gelesen zu haben)

Aber ich hätte niemals gedacht, dass Lisp sooo alt ist, denn das ist ja die de Facto Standartsprache bei der KI-Programmierung!

Außerdem hätte ich Assembler für älter gehalten!

--
mfg
Franknstein

27.07.2004 - 22:47 Uhr

mdb ist glaub ich Access....

Hast du Access zu dem Zeitpunkt geschlossen? Bist du Nichtadmin und hast keine Schreibrechte???

Mehr wüsste ich auch nicht!

--
mfg
Franknstein

27.07.2004 - 22:39 Uhr

Ich zweifle dass das geht, denn unter Windows dürfen nur Treiber Hardware ansteuern abgesehen von der seriellen Schnittstelle. Man kann ohne Trick17.dll nicht mal den paralellen Bus verwenden. Daher wird das so wohl nix.....

Kein Gewär, kann auch falsch sein, ist wie gesagt nur eine Vermutung!!!

Edit:
Huch, wer lesen und schreiben kann ist klar im Vorteil! Kannst du mal ein bisschen Code zeigen wie das mittels WinApi möglich ist, vielleicht kann ich dir dann weiterhelfen!

--
mfg
Franknstein

27.07.2004 - 00:08 Uhr

Dahin wo auch deine Exe oder was auch immer vom anderen Projekt ist. Des weiteren musst du Unter Projekt/Referenzen/ und dann auf den durchsuchen-Button klicken um eine Referenz auf dein Assembly anzufügen. Dann kannst du mit using dran....

--
mfg
Franknstein

26.07.2004 - 22:01 Uhr

Metallica und Soulfly und sonstiges halbwegs normales Metal(falls es das gibt)

--
mfg
Franknstein

25.07.2004 - 14:45 Uhr

Du musst eine Referenz auf die DLL anfügen, aber wie genau das geht, weiß ich nicht

25.07.2004 - 14:44 Uhr

Lieber verdurste ich als nochmal so Kräuterbier zu trinken, aber an sonsten teile ich deine Meinung..... 😁

--
mfg
Franknstein

24.07.2004 - 17:32 Uhr

Das war so eine Subunternehmen vom Edeka, Adeg hieß der. Zu finden war der in einem mittelgroßen Ort nahmens Altenmarkt in der Nähe des Tauerntunnels.

Aber bis auf die geringe Auswahl an Biersorten war es dort top. Vom Beachvolleyballplatz aus konnte man auf das Tauernmassiv gucken... 😁 nur war die Enns fast ein bisschen zu sanftmütig zum raften. Es hat mir sehr gut gefallen, und Deutschland könnte sich durchaus in manchen Punkten an Österreich orientieren.

(Jetzt ist auch bekannt, was ich dort gemacht habe die Zeit)

--
mfg
Franknstein

22.07.2004 - 22:25 Uhr

Hallo,
Ich komme gerade aus Österreich zurück, und ich musste feststellen, dass es dort kein anständiges Bier gibt. Überall wo man hinkommt nur Stiegl und Kaiser. Das Stiegl ist das bessere - von dem bekommt man keine Kopfschmerzen. Allerdings ist der Geschmack gewöhnungsbedürfig, aber wenn erstmal zwei drei gesoffen hat, kann man das recht gut trinken 😄. Über das Kaiserbier braucht man garnicht zu reden, vom reinen Bier wirds einem schnell Übel und vom (Kräuter-)Radler bekommt man übelste Haluzinaitionen(nein, ich nehme sonst keine Drogen und den Effekt haben auch andere beobachtet). Andere Biersorten habe ich dort nicht gesehen. Es gibt dort noch nichtmal hochwertiges Becks und das bekommt man sonst fast überall in der Welt.
Wie ist es zu erklären, dass es in Österreich so wenige Biersorten gibt? In meiner näheren Umgebung gibt es bestimmt 7 lokal ansässige kleinere Brauereien. Dann kann man noch überall so Bier wie Veltins, Krombacher, Jever, Becks und so weiter kaufen.
War ich im falschen Laden oder habe andere Sorten (an öserreichischem Bier) übersehen?

--
mfg
Franknstein

22.07.2004 - 21:56 Uhr

Genau
Das klappt nur, wenn
a)dein Hauptprogramm assembly1 ist(hat Referenz auf b)
b)dein Interface Assembly 2 ist
c)dein dynamsiches dingens Assembly 3 ist(auch mit Referenz auf Assembly2)

--
mfg
Franknstein

17.07.2004 - 22:48 Uhr

Ok hat sich erledigt, ich bin doch dümmer als ich gedacht hätte, denn ich habe ein dll im Pluginordner gehabt, die kein Plugin war... daher hat das nicht so ganz funktioniert!

--
mfg
Franknstein

17.07.2004 - 21:10 Uhr

Hallo,
Heute bekomm ich wiedermal nix auf die Reihe! Ich habe ein Programm das Plugins verwendet und diese (wie solls anders sein) über Interfaces ansteuert. Nur leider bin ich zimlich dumm, denn ich habe irgentwas am Code getestet und nun funktioniert überhaupt nichts mehr, was etwas mit den Pluins zu schaffen hat, aber ich weiß nicht warum.
Ich habe ein Interface (IDBase). Die Plugina implementiert das Interface welches sich in einer Dll befindet. Diese Dll habe ich als Referenz in die Plugins und in das Hauptprogramm eingebunden. Die Plugins sind ebenfalls in einer DLL. Diese (Plugin)-Dlls wird dynamsich geladen. Im Hauptprogramm habe ich des Weiteren ein IDBase-Array(also ein Array mit dem Interface), das die geladenen Plugins aufnehmen soll. Nun will ich die mittels Activator.CreateInstance(Typ) erzeugten Instanzen der Plugins in das IDBase-Array casten, was irgentwie fehlschlägt......

Nun will ich aber auch ein bisschen Quellcode dazu posten:
Das Interface(vereinfacht)


namespace IPlugIn
{
	public interface IDbase
	{
		void connect(string user, string password, string server, string database);
	}
}

Ein Plugin: (Hat eine Referenz auf das IDBase)


using System;
using IPlugIn;

namespace Mysql
{
	public class PlugIn : IDbase
	{
		public PlugIn()
		{
		}

		public void connect(string user, string password, string server, string database)
		{
			Console.Write("Ich bin eine wichtige Datenbankverbindungsmember");
		}
	}
}

Ein Teil des Hauptprogramms: (Hat auch eine Referenz auf das IDBase)


Assembly asm = null;
				Type t = null;
				string[] nameStr = files[i].Name.Split('.');
				plugins[i] = nameStr[0];

				try
				{
					asm = Assembly.LoadFrom(files[i].FullName);
					t = asm.GetType(nameStr[0] + ".PlugIn");
					if(t != null)
						idb[i] = (IDbase) Activator.CreateInstance(t);
				}
				catch(Exception err)
				{
					#if DEBUG
						throw new Exception(err.Message + "\r\n" + err.StackTrace);
					#else
						throw new Exception("Fehler beim Laden der Plugins");
					#endif //DEBUG
				}

Nicht wundern falls ich einige Zeit hier nicht auftauchen solle. Wenn das der Fall ist, muss ich von Morgen bis Donnerstag nach Österreich abtauchen.... 😁

//Edit: Verdammichte Codetags

--
mfg
Franknstein

17.07.2004 - 20:39 Uhr

wenn du einen rechtsklick auf eine Verknüpfung machst, dann kannst du auch einen Tastenkürzel zum Starten von deiner Lieblingsanwendnung festlegen...

--
mfg
Franknstein

17.07.2004 - 20:28 Uhr

Das was ich wegen der Genauigkeit gesagt habe gillt nur in der Physik und da auch nur bei Messwerten...

--
mfg
Frankstein

17.07.2004 - 19:16 Uhr

Hm,
Schade, dass das direkt nichte geht... Ich denke ich mache eine Hashtable, die ich dann serialisiere....

17.07.2004 - 17:56 Uhr

Original von r00t
he he das hat sehr wenig mit geiser-modus zu tun, eher mit fauler-sack-modus 😁

EDIT:

gruß,

r00t 😉

Und du kommst noch irgentwann in den Der-Admin-verbannt-dich-falls-du-weiterhin-so-blöde-Fragen-stellst-Modus 😁

--
mfg
Franknstein

17.07.2004 - 17:50 Uhr

Ja, aber so nennen sich nur Angeber 😁

Guckt euch meine Hackfresse an und ihr wisst es.. 😁

--
mfg
Frankstein

17.07.2004 - 15:50 Uhr

Wie es ändert sich nix in der Klasse? Statisch ist nicht Konstant
Eine statische Klasse braucht man nur nicht Instanziiern, d.h. man kann auf die publics von überall her mit Klassenname.Feld zugreifen....

--
mfg
Franknstein

17.07.2004 - 12:44 Uhr

Wie kann ich eine Statische Klasse serialisieren? Kann ich das überhaupt, oder muss ich immer erst alle Werte in eine Serialisierbare, normale Klasse packen?

--
mfg
Franknstein

17.07.2004 - 10:57 Uhr

Das OnClick Event des Treeview abfangen und einfach den dir beliebenden SQL-Select an das Dingens übergeben...

17.07.2004 - 10:55 Uhr
  1. Ob du das so leicht unterbinden kannst weiß ich nicht, aber du kannst den Row oder die Column die du in der Combobox darstellen willst, mit einer For-schleife durchgehen und dann das ensprechende Feld immer in die Combobox adden.....

  2. Das ausgewählte Feld in der Combobox mit ComboBox.Items[Combobox.SelectedItem].Text oder so herausfinden. (Einfach den dazugehörigen Event abfangen). Mit dem Dadurch abgefragen Text kannst du gucken, welche Column so heißt wie das ausgewählte Item der Combobox. Diese Column schreibst du dann in die zweite Combobox. Allerdings muss dazu deine DataTable im Dataset so auschchauen:


+----------+----------+
|Deuschland|Österreich|
+----------+----------+
|Bayern    |Tirol     |
+----------+----------+
|Hessen    |Stayermark|
+----------+----------+
|Sachsen   |Burgenland|
+----------+----------+

--
mfg
Franknstein

17.07.2004 - 10:42 Uhr

Wenn ich mir das so anschaue denke ich, dass z.B. für die Handhabung von Dateien in einem komplexen Format diese Art der Programmierung effizent ist...

--
mfg
Franknstein

17.07.2004 - 10:36 Uhr

C# ist auf alle Fälle die beste Sprache für das DotNetFx, da die nur für .net Desingt wurde und daher alle Vorteile ausnutzt, was man von anderen Sprachen nicht sagen kann

--
mfg
Franknstein

16.07.2004 - 22:35 Uhr

Kann ich eigentlich C# zu IL kompillieren und dann zu VB.net dekompillieren????

VB.net sollte man meiden, meiner geringen Meinung nach ist das für die Tonne!

--
mfg
Franksntein

16.07.2004 - 22:32 Uhr

Wie, es wird sehr ungenau....
Ist dir klar, dass ein Ergibnis nicht genauer sein darf wie die Startwerte? 😁

Für C gabs da mal was, ne DLL oder so. Müsstest du dann halt importieren. Das sollte aber kein Problem sein. Ein anderes Problem währe die Tatsache, dass diese Lib zimlich lahm ist.... Such halt mal bei google

Weiß nicht, obs auch was für C# gibt

--
mfg
Franknstein

16.07.2004 - 22:29 Uhr

von Ftee
C# ist auf jeden Fall sehr verdammt gut überlegt. Es hat den sehr guten Editor von MS, und der Aufbau des Frameworkes und der Sprache auch viel von der VCL.

Bitte bringt mich nicht um wenn ich behaupte, dass der VS-Editor nicht so soderlich gut ist. Wer schonmal mit Eclipse gearbeitet hat, der wird das selbe von VS denken wie ich. Der VS-Editor ist schon nicht mehr auf dem neuesten Stand, da am Editor glaube ich seit VS2001(und es gab auch kaum Verbesserungen zu VS6 bis auf das bessere Intellisense und die Funktionen ausblenden) kaum was gemacht wurde. Eclipse bietet da viel mehr aber ist dennoch übersichtlicher als VS. Nur leider ist Eclipse manches mal sehr langsam. Ich werde daher nach meinem jetztigen Projekt
a) Eclipse mit Java verwenden
b) Eclipse mit dem C#-Plugin verwenden

Nun, .net hat zwei gewaltige Fortschritte(Was die Programmierer davon halten weiß ich nicht):
-keine Verwendung der Registry nötig (soll auch garnicht mehr gemacht werden)
-wie Ftee schon gesagt hat kein Comgefubbel mehr

--
mfg
Franknstein

15.07.2004 - 20:54 Uhr

Hast du auf einen eventuellen Timeout gewartet?

15.07.2004 - 20:53 Uhr

Warscheinlich indem du eine Version von VS verwendest bei der du sicher sein kannst, das keine schwerwiegenden Bugs darin enthalten sind.... Guck mal nach VS2003.
Die VS2005 ist nämlich wie du schon selber geschrieben hast, eine Betaversionen und ist so frei von Fehlern wie das von Betas von MS zu erwarten ist

--
mfg
Franknstein

14.07.2004 - 21:14 Uhr

Und wenn sie des nicht durchlässt, httpwebrequest auf google.de. Glaube da gibts sogar sowas wie IsConnected oder sowas in dem Typ, oder war das Java?

Verdammich, seit nebenbei noch was mit Java machen muss, bin ich irgentwie verwirrt....

--
mfg
Franknstein

14.07.2004 - 21:10 Uhr

Wennn ich näher über dieses Thema nachdenke, dann komme ich zu dem Schluss, dass man C++ nicht mit C# vergleichen kann. C# ist extrem mächtig bei der Entwicklung von Anwenungen, die benutzerfreundlich sind. Klar, dafür wurde ja C# auch desingt, ebenso wie es für sichere Anwendungen desingt wurde, da man keine Rücksprungadressen überschreiben oder Overflows erzeugen kann.
C++ dagegen wurde so desingt(kommt natürlich auf den Compiler an), dass C-Programme sehr gut optimiert sind(Keine ArrayÜberlaufprüfungen oder sowas) und daher auch auf langsameren Maschienen weniger Resourcen fressen(wobei es auch auf den Programmierstil ankommt). Außerdem wurde bei C Wert darauf gelegt, dass man mit C++ viele Möglichkeiten bezüglich des Programmierstils hat.(Was bei C# auch bald der Fall ist). Denn man kann mit C++ in einem Programm prozedural, objektorientiert, generisch und was weiß ich nicht noch welche Stile verwenden.

--
mfg
Franknstein

13.07.2004 - 22:33 Uhr

Hier würde ich statische Klassen nehmen. Statische Klassen sind statisch, d.h. müssen nicht instanziiert werden, sondern werden einmal instanziiert, wenn das Programm gestartet wird, und können dann immer und überall im Programm(in anderen Klassen) mit Klassenname.Methode oder Klassenname.Variable angesprochen werden, falls die Variable public ist. In einer statischen Klasse muss der Konstruktor statisch seine, und alle anderen Variablen und Methode auch. Hier habe ich mal ein Beispiel: (ich hoffe es ist verständlich)


class config
{
  static config()
  { /*Hier lädst du die Konfig*/}
  public static string Wert1;
  public static int Wert2;
  public static string Wert3;
  public static bool Wert4;
  ~config() 
  { /*Hier speicherst du die Konfig*/}
}

class main //Die Klasse mit dem Hauptprogramm
{
  private void showConfigForm()
  {
     form f  = new form(); //Hier wird die Configform angezeigt
     f.ShowDialog();
     if(config.Wert4 == true) { /*Statusbar mit Werten füllen und zeigen*/ }
  }
}

class form
{
  form_close()
  {
  config.Wert4 = true;
  config.Wert1 = "Dein Wert";
  }
}

--
mfg
Franknstein

13.07.2004 - 22:17 Uhr

Zitat:

Ohne Zeiger müsste ich mir ganz Rom nach hause holen - mit Zeigern nur ne Ansichtskarte oder einen Atlas.

Ne, is schon klar, jede Sprache braucht irgendwo Zeiger. Aber in C/C++ muß man aufpassen. Verrutscht dir nämlich beim markieren der Strecke im Atlas das Lineal, dann kannst du auch leicht mal in Afghanistan rauskommen. Und sowas kann dir in C# nicht passieren ;-P

Sollte eigentlich nicht, aber das passiert auch ab und an, besonders bei Plugins für Map Point....

Im übrigen kann man das Argument, dass man mit C++ keine ordentlichen GUIs erstellen kann, nicht gelten lassen. Denn es gibt geniale Apis wie wxWindows(das ist echt geil) oder QT von Trolltech (soll nicht schlecht sein, aber ich hatte die ehre noch nicht). Ok, vielleicht braucht man bei wxWindows einige Wochen um sich einzuarbeiten, und auch etwas länger für die Projektrealisiereung, aber wenn man nur mit wxWindows (und im extremsten Falle noch Boost) Programme erstellen kann, die auf wirklich jeder Plattform laufen, die eine GUI hat, dann kann es einem das wohl Wert sein... (Somit währe auch das Argument der Plattforminkompatiblität ausgeräumt)

--
mfg
Franksntein

12.07.2004 - 21:29 Uhr

Der größte Teil des Frameworks ist auch in C# geschrieben. Augenzwinkern

Und ich behaupte das ist einer der Gründe warum es so wenige Bugs gibt.....

Original von Unikum
Einfach auch dem Grund, weil die Engine von z.B. C# oder Java in nichts anderem als C++, bzw. C geschrieben worden sind, damit C# oder Java rauskommt. Denn C# kann sich nicht selbst schreiben.

Es ist gang und gebe ein Compiler für eine Sprache mit einer Sprache selbst zu schreiben. Und das geht so: Zuerst schreibt man einen relativ schlechen Compiler mit C oder sowas in der Art für die neue Programmiersprache. Dann erstellt man mit der neuen Programmiersprache eine neuen, besseren Compiler, kompilliert diesen mit dem alten, und dann nochmal mit sich selbst(Der alte optimiert ja kaum).... Genau so wurde das vermutlich auch bei C# gemacht(Bei mono sogar sicher).... das Framework ist zum Teil mit C# gemacht, aber vermutlich ist der Kern, welcher die Maschienensprache aus dem IL erzeugt, ist mit C oder sowas erstellt(C++ warscheinlich nicht, da zu abstakt). Das vermute ich jedenfalls, aber ich weiß nicht, ob das wirklich zutrifft.....

--
mfg
Frankstein

12.07.2004 - 21:19 Uhr

Was sind denn dfb-Files? Wie greifst du auf sie zu?

--
mfg
Franknstein

12.07.2004 - 21:15 Uhr

Es gibt eine Art Fliehkraft des Stroms. Dieser Effekt heißt Spitzenwirkung. Diese kommt daher, dass der Strom lieber an der Oberfläche des Leiters fließt. Das kommt, weil die Elektronen denken, dass allen anderen Elektronen böse auf sie sind, und daher möglichst weit weg von einander sein wollen. (Eigentlich stoßen sich Elektronen nur gegenseitig ab, und daher kommt das, aber so kann man das gut kleinen Kindern erklären, die keinen Plan von Physik haben). Nun kommt es dass sich zwei Elektonen zu nahe kommen und zusammenknallen. Da sie sich ja abstoßen, kann es passieren, dass bei nicht isolieren Kabeln die Elektronen mit annähernder Lichtgeschwindigkeit aus dem Leiter geschossen werden. Das passiert aber nur bei nicht isolierten Kabeln und wenn die Luft feucht oder ionisiert ist(Ionisiert ist sie aber seltener). Außerdem tritt dieser Effekt nur auf bei hohen Spannungen. Daher knistern auch manches Mal die Stromleitungen wenns diesig ist. Bei isolieren Kabeln passierst sowas garnicht, da die Elektronen nicht durch die Plastikisolationsschicht kommen(Extrem selten vielleicht doch).
Aber eigentlich macht dieser Effekt fast garnichts außer dem knistern......

(Warum ich das jetzt geschrieben habe weiß ich nicht.....)

Edit:

Original von Bierkönig
Ich find das voll nicht mehr lustig hier. Was soll denn der blöde Joke mit "Pass auf, dass die Pakete nicht kotzen!?" Jeder normale User weiss doch, dass Pakete keine lebenden Wesen sind. Und das die in der Kurve rausfliegen, ist doch ganz normale Physik. Da braucht ihr garnicht erst mit solchen Ammenmärchen ankommen, wie lebende Pakete!

Scherze sind ok, aber genug ist genug! Es muss eine einfache physikalische Lösung für dein Problem geben. Das mit den radioaktiven Teilchen hört sich doch schonmal ganz logisch an.

Wenn der das ernst meint, sollte ich mit dem Trinken aufhören, bevor ich mich noch genauso dumm saufe wie der...... 😁

mfg
Franknstein

11.07.2004 - 21:06 Uhr

Ich nehm den Mozzi, da bin ich (noch) auf der sicheren Seite.....

--
mfg
Franknstein

10.07.2004 - 23:55 Uhr

Wenn die Formgröße statisch ist, dann würde ich mir eine Grafik machen und die dann dort hinbasteln.....

Könnte das ein Splitter sein?

--
mfg
Frankstein

10.07.2004 - 23:50 Uhr

Ich frage nur, weil ich eine ganze Palette an Leuten kenne, die aus dieser Szene kommen und nicht in der Lage waren, den Unterschied zwischen einem gekreuzten Patchkaben(Crossover) und einem normalen Patchkabeln zu verstehen(Ich habe das dann nach einen Versuch einer Erklärung mit einem Mann und einer Frau, einer Skizze auf einem Batt Papier und etwa 20min Erklärungsaufwand aufgegeben).

@ernie04
Wer ist nicht durch Computerspiele zu den Programmieren gekommen? Ich habe die Theorie dass es zwei Sorten Zocker gibt:
a) die Leute die wissen wie im ganz groben das TCP-IP-Protokoll funktioniert
b) die Leute die sich fragen, warum man Spiele installieren muss und nicht einfach auf CD brennt...

Letzere sind die besseren Zocker, machen die anderen so kaputt, dass die Ersteren sich total deprimiert anderen Tätigkeitein zuwenden..... wie programmieren (So in etwa war das bei mir)

--
mfg
Frankstein

10.07.2004 - 19:15 Uhr

Alllerdings musst du aufpassen, so php-Script die das tuen, sind meist seeeehhhhrrrrr Fremdbenuterfeundlich.....

FTP-Connection öffnen, XML-Datei in DataSet einlesen und das als Datenbank verwenden......
Wenn du nur lesezugriff brauchst kannst du auch per HTTPConnection(Ka wie das in C# heißt, beim Drecksjava heißt die Klasse dazu HttpConnection)

--
mfg
Franknstein

10.07.2004 - 19:10 Uhr

Ich weiß nur nicht, ob der Kerl das ernst gemeint hat.... würde mich mal interressieren!
Oder ob er nur ein Torfkopp ist, der rumspammt....

--
mfg
Franknstein

10.07.2004 - 08:27 Uhr

Pack alles in Hashtable und nehm ValueExists() oder sowas in der Art

--
mfg
Franknstein

10.07.2004 - 08:26 Uhr

Wer mit C# programmiert hat und als Referenz mal mit C++ der wird feststellen, dass C# deutlich besser von der Hand geht, und bei den meisten Aufgaben weniger Aufwand betrieben werden muss, um diese zu entwickeln.
Managed C++ finde ich noch nicht allzugut, denn man wird wie gesagt zimlich eingeschränkt..
Aber ich muss sagen, dass man mit isoC++ und wxWindows auch zimlich gut Programme erstellen kann.... allerdings musst du da aufpassen, dass man auch wieder alles wieder löscht was man mit new erzeugt hat....

--
mfg
Franknstein

08.07.2004 - 22:57 Uhr

@Ftee
Sicher das der Destruktor nicht noch ausgeführt wird? Ich habe immer gedacht, das System lässt dem Programm noch x ms nach dem Senden der Schließen-Message bis das Programm aus dem Prozessseduler fliegt....

Ich kann davor allerdings NUR warnen!!!!
Ich habe beim testen dieser besagten Application und der darauf folgenden Neuinstallation (weil eben NICHT jede Hintertür immer so klappt wie man sich das vorstellt!) ungefähr 3-5 verschiedene Hintertüren eingebaut, die ich auch oft genug nutzen musste.

Es ist ein Scheissgefühl wenn man seinen Rechner zwar starten kann, aber nur 3 Sekunden was davon hat, weil er dann wieder runtergefahren wird.....

Hammer, das übertrifft sogar meine FatDateiSystemDurchEndlosesOrdnerErzeugenZerschießenC-Programm.exe!!!

Waren die Anwendungen .net-Exen? Wenn ja, dann kann man die WindowsCd an den Start bringen und die mscorelib.dll nach Wiesen schicken.... Und wenn nicht kann man ja mit delte *.exe auf die Exejagd gehen ohne den Dateinamen zu kennen, natürlich aus der Wiederherstellungskonsole....

--
mfg
Franknstein

08.07.2004 - 20:56 Uhr

Klar kann ich das, aber dann lernst du ja nix dabei....
(Ausrede für meine Faulheit)

Aber ich will dir das Vorgehen mal allgemein erläutern:
Da wo dein Thread ist fügst du im Konstruktor


class thread
{
IDeinInterface Interface;
public thread(IDeinInterface interface)
{
this.Interface = interface;
}
private void deineThreadFunktion()
{
Interface.WerteÜbergeben(int Wert1, int Wert2);
}
}

class main extends IDeinInterface
{
public void WerteÜbergeben(int W1, int W2)
{
//Hier tust du was mit deinen Werten
}

public void ThreadStarten()
{
Thread t = new Thread(this);
}
}
public interface IDeinInterface
{
void WerteÜbergeben(int W1, int W2);
}

--
mfg
Frankstein

08.07.2004 - 20:44 Uhr

Sorge doch einfach dafür, dass das Programm beim Starten die Daten nur ausliest, Änderungen in irgenteiner dämlichen TMP-Datei speichert und dann aber NUR dann wenn das Programm ordnungsgemäß beendet wird, die Daten ändert die beim nächsten Start geladen werden. So verhinderst du auch größtenteils Fehler, falls dein Programm mal sich selbst zerschießt. Und falls dein Programm sich nicht zerschießen kann, ist so ein Vorgehen dennoch ratsam, denn den Resetknopf kannst du nicht sperren 😁 ....

Aber ich glaube dass die Destruktoren immer ausgeführt werden, da diese vom GC aufgerufen werden... ( ist aber nicht sicher)

--
mfg
Franknstein

08.07.2004 - 20:37 Uhr

Wie gut solche Anwendungen dann laufen, kann man z.B. bei Open Office sehen. Das ist zwar Java aber im Prenzip das selbe.

--
mfg
Frankstein

07.07.2004 - 21:27 Uhr

Und falls du Referenzen auf die Arraylist hast, sehe ich da zwei Lösungen:
a) die Arraylistinstanz = null setzen und mit new neu erzeugen
b) alle Elemente = null setzen

--
mfg
Franknstein

07.07.2004 - 21:24 Uhr

Ne aber ich kann dir sagen warum das so ist:
Wenn du das mal ebend durchdebuggst, wirst du feststellen, dass der Ablauf des Threads dem Event folgt -> die c_isevent wird vom Dinges äh Thread aus aufgerufen, wie dir warscheinlich bekannt ist. Daher sage ich zum 100.000 Mal:
Nehmt in Verbindung mit Threads immer nur Interfaces, da bekommt man solche Probleme normal nicht.... Wenn du Interfaces nicht kennst, such mal hier. Ich habe sicherlich irgentwo ein Beispiel gepostet....

--
mfg
Franknstein

07.07.2004 - 10:01 Uhr

@VizOne:
Ich versuche Exceptions zu vermeiden wo es geht, daher fange ich nur Exceptions vom Typ Exceotion. z.B. bei deinem Beispiel würde ich mit File.Exists erst prüfen, ob die Datei existiert um ein Exception zu vermeiden....

--
mfg
Franksntein

06.07.2004 - 23:21 Uhr

Mach doch dir das selber:
1.drei Kreise in Paint gemalt
2.drei Buttons auf die Form
3.Flatstyle auf Flat, ist zwar ein kleiner Rahmen, aber damit kann man leben
4.ein bisschen Code dazu und fertig

Wenn du das geschickt hinbastelst, dann merkt keiner, dass das Buttons sind....

--
mfg
Franknstein