Danke für die schnelle Hilfe und Antworten. Hab einen neuen Threat im hoffentlich richtigen Forum erstellt. Der Link dazu:
http://www.c-plusplus.net/forum/viewtopic-var-p-is-1801666.html#1801666
Gruß,
Rasta
VIELN, vielen, vielen Dank.
Ich habe das ganze nun in eine neue Klasse geschrieben und es funktioniert einwandfrei. Dank!
Viele Grüße und ein frohes Halloween
Wandernder Mongole
Mayor West schrieb:
Unglücklicherweise befindet sich die Dispose-Funktion der Form in der Designer-Datei, die ja möglichst nicht manuell geändert werden soll.
Genau da würd ich sie aber auch reinpacken. Abgesehen davon bezieht sich das "do not modify" nur auf die InitializeComponent()-Funktion, nicht auf die ganze Datei:
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
[...]
xampplogfile schrieb:
ich denke es liegt an der streamreader klasse selber,
per Default öffnet StreamReader (bzw. die Basis-Klasse) die Datei mit allem was geht
gcnew StreamReader(gcnew FileStream(file, FileMode::Open, FileAccess::Read, FileShare::ReadWrite));
Das ist doch einfach eine 1:1-Implementierung der Definition der Fakultät:
0! = 1
n! = n*(n-1)! (für n>0)
Wenn man mit der Definition Schwierigkeiten hat, hilft es vielleicht, sich das so zu überlegen:
n! = n*(n-1)(n-2)...*2*1 = n*[(n-1)(n-2)...*2*1] = n*(n-1)!
Ich hatte solange Angst vor Rekursion, bis ich aufgehört habe, mir den Ablauf des Hin- und Herspringens und den Aufbau des Stacks währenddessen vorzustellen. Für eine rekursive Lösung eines Problems braucht es zwei Dinge:
Einen Basisfall. Eine besonders kleine Version des Problems, für die man direkt die Lösung angeben kann. Beispiel: 0! = 1. Länge der leeren Liste = 0, Höhe des leeren Baumes = 0 und ähnliches
Eine Möglichkeit, einen komplexeren Fall auf die Lösung einfacherer Fälle zurückzuführen. Berechnung der Fakultät von n, indem ich zuerst die Fakultät von n-1 berechne. Berechnung der Länge einer Liste, indem ich den Kopf der Liste abhänge und die Länge der Restliste berechne. Berechnung der Höhe eines Baumes, indem ich zunächst die Höhen aller Nachfolger bestimme.
Der entscheidende Punkt ist: Man tut so, als würde die Funktion, die man gerade schreibt, den einfacheren Fall schon lösen können. An der Stelle muss man einfach mal loslassen können
Die Analogie zur mathematischen Induktion ist übrigens nicht zufällig!
DU bekommst eine Fehlermeldung.
Diese solltest Du aus gutem Grund befolgen.
Alles andere ist nicht vorgesehen.
Sende dem Thread mit dem Control eine Nachricht.
Ist ja nicht schwierig.
ja also kann ja sein dass du ein log machen willst und also jedes mal immer an die datei dranhängen willst oder dass du jedes mal ne komplett neue datei schreiben willst ^^
Ich kann den Grundgedanken schon verstehen, daß man nur lesend auf ein Objekt von außen zugreifen möchte, und der schreibende Zugriff nur von einer bestimmten Klasse aus erlaubt sein soll.
Deswegen wünsche ich mir für C# auch ein "const" für Methoden (bzw. automatisch für Getter-Properties).
Für Collections z.B. wurde dafür extra eine ReadOnlyCollection geschaffen.
Ausweg bleibt daher wie beschrieben nur über Vererbung oder Interfaces (d.h. Mehraufwand beim Schreiben der Klassen).
Darf man den namen des Spieles wissen? Dass was du machen möchtest, würde man am leichtesten auf einem "nicht erlaubten" weg schaffen.
http://www.codeproject.com/KB/cpp/codecave.aspx
Ein beispiel für Pinball, mit einem Codecave könntest du die Chat-Nachricht an dein Programm weiterleiten, dass müsste man dann natürlich in C++ erstellen(dll) und dann in dein C# projekt benutzen. Falls du kein ASM kannst, dann wird es wahrscheinlich sehr schwer.
nicht wenn man ne statische methode uebergibt {o;
table.Sort(ByBetrag);
.
.
.
private static int ByBetrag(TableEntry lhv, TableEntry rhv)
{
return lhv.Betrag.CompareTo(rhv.Betrag);
}
der vorteil dieser methode ist das man es leichter anpassen kann wonach sortiert werden soll - wenn das IComparable[<T>] implementiert wird ist es fest
creation_2 schrieb:
genau c ... hab da probleme damit 0_o
dann bist du im falschen forum - in diesem schreiben nur schwachsinnige - also ich und leute die sind wie ich #gg
Geloest
Zunaechst Danke fuer Eure Tips.
Kurze Problembeschreibung:
eine C# Anwendung fuer .NET V3.5 kann auf x64 basierten Windows Betriebssystemen nicht auf Datenbanken von SQL Server Compact 3.5 zugreifen. Grund: SQL Server Compact 3.5 gibt's nur fuer x86 Systeme.
Loesung:
SQL Server Compact 3.5 SP1 fuer x64 installieren, zu finden hier:
http://blogs.msdn.com/stevelasker/archive/2008/08/07/sql-server-compact-3-5-sp1-released.aspx
Erst im zweiten Anlauf via versch. Suchmaschinen hab ich dieses Blog eines Compact Entwicklers entdeckt. Wird dieses SP1 nachtraeglich installiert, dann klappts jetzt auch mit der C# Anwendung auf x64 Windows Betriebssystemen.