Wir konnten entscheiden, ob wir eine Schulaufgabe oder ein Projekt machen wollen. Wir haben uns für das Projekt entschieden (trotz Abendschule und dadurch sehr wenig Zeit...). Jeder macht ein eigenes Projekt in etwa der selben Größenordnung.
Ja, ich habe die Kartengraphiken, hab sie mir extra eingescannt und in PS bearbeitet.
Projekt wird nach Punkten bewertet. Folgendes gibt Punkte:
Pflichtenheft.
Fallbeispiele.
Klassendiagramme.
Dokumentation.
Lauffähiges Programm.
Code.
Ob das jetzt alles war, kann ich nicht 100%ig sagen, da der Zettel zu Hause liegt. Wie die Punkteverteilung ist staht da ebenfalls drauf.
Ja, ich mache das Projekt alleine.
Haha, okay, sorry, hätte ich's gleich so ausprobiert hätte ich Euch den Beitrag ersparen können, aber vlt. hilft's ja jemandem:
Mit einem Delegate auf eine statische Methode, braucht man in C++ nur einen 08/15 Funktionspointer mit der selben Signatur erwarten, dann geht's. Beispiel:
// C#
public delegate int delMyCallback();
{DllImport("MyCPP.dll")]
public static extern int MyCPPFunc(delMyCallback);
// Aufruf irgendwo
MyCPPFunc(MyCallbackImplementation);
// C++
extern "C"{
int __declspec(dllexport) MyCPPFunc(int(*fn)(void))
{
(*fn)();
return SUCCESS;
}}
War ja einfacher als gedacht!
Aber falls trotzdem noch jemand was hinzuzufügen hat, Diskussion ist ja noch offen
Gruß
PuerNoctis
EDIT: Danke Theta, hab' Deinen Beitrag gerade gesehen. Wie gesagt, hätte ich egtl. selbst drauf kommen können. War wohl zu ungeduldig mit dem Post, sry
Firefighter schrieb:
Jo ich hab ne Idee. Vermutlich stimmen die Endpoints des Service nicht mehr.
Wenn du lokal Webservices entwickelst, startet Visual Studio die in einem Debugging Server. Meistens ist der Server localhost. Sobald du aber das ding auf einen Server tust, sind die Endpoints noch immer auf localhost geeicht.
Das hat mir weitergeholfen - vielen Dank dafür!
Kennst Du vielleicht weiterführende Links [Schwerpunkt: Silverlight / WCF]?
Das wäre natürlich auch mal eine Idee...
Ne, ist nix wildes. Es ist ein kleines Tool das Tastenkombis abfängt und dann ein paar Makros ausführt.
z.B.
Ich drücke CTRL+F1 dann soll er z.B. einen Text an ein Fenster schicken und daraufhin eine Taste drücken. Bei dem Tastendrücken hängts hier natürlich, wenn ich die CTRL weiter gedrückt halte.
gruß
Hellsgore
Wenn es unbedingt als string übertragen werden muss könnte man auch den XmlSerializer benutzen um das Array zu serialisieren und dann die XMLDatei übertragen
AcceptTcpClient() gibt dir immer ein neu verbundenes TcpClient Objekt zurück.
Die sind verschieden, nur der Name der Variable (client) ist gleich.
Du kannst die clients z.B. in einer Liste sammeln.
Du musst ja deine Clients eh irgendwie "halten".
Pseudo Code:
TcpClient client = serverSocket.AcceptTcpClient();
connectedClients.Add(client);
// ...
Simon
Die Frage ist ob warum du hier unbedingt eine eigene Klasse "Pair" machst, vielleicht kannst du auch die KeyValuePair<T,R> von .NET nutzen. aber das ist nur ein tip, ich weiß ja nicht was du vor hast.
Ein Nachtrag noch zum Auslösen von Events.
Man sollte immer prüfen, ob auch ein Event abonniert wurde, sonst ist die Event-Variable null und es gibt eine entsprechende Exception.
Also immer so aufrufen:
public event CalcFinish_EventHandler CalcFinish; // <- Events immer in CamelCase
protected void OnCalcFinish(EventArgs e)
{
if(CalcFinish != null)
CalcFinish(this, e);
}
Achtung:
um diese Abfrage auch noch für Multithread-Programme korrekt auszuführen, sollte man immer so vorgehen:
protected void OnCalcFinish(EventArgs e)
{
var ev = CalcFinish;
if(ev != null)
ev(this, e);
}
Sonst könnte zwischen dem Überprüfen (auf null) und des Ausführens das Event mittels '-=' schon wieder gelöscht worden sein (und dann knallt es: bumm -).
leyden schrieb:
Bedeutet das, dass ich auch C# Programme auf Linux Systemen laufen lassen kann,
wie schon von anderen geschrieben - theoretisch ja ... aber ... Mono basiert auf einem komplett anderem Quelltext ... d.h. Dein Programm kann an einigen Stellen ein anderes Verhalten zeigen - weil sich der Quelltext von Mono & .NET unterscheiden ... wenn ich nicht weis auf welchem BS mein Programm später läuft, verwende ich lieber Java
Athar schrieb:
hustbaer schrieb:
Naja der Murks ist, dass es überhaupt Items mit gleicher ItemID und unterschiedlichen Eigenschaften gibt. Behaupte ich mal.
Naja, es kann für einige Eigenschaften Sinn machen, diese nicht an die ItemID zu koppeln. Tausendmal denselben Gegenstand mit unterschiedlichen Farbtönen zu erstellen macht nicht so viel Sinn.
Man darf dann aber keine Funktionen erstellen, die eigentlich ein Item brauchen, aber nur eine ItemID als Parameter haben.
Ich meine bloss: wenn man schon sowas wie eine ItemID hat, dann macht es wohl Sinn, diese 1:1 auf Klassen zu mappen.
Wenn man dann irgendwas in verschiedenen Farben haben will, dann bekommt die Klasse halt zusätzlich Parameter oder so.
Und wenn das die Game-Enginge nicht kann, dann würde ich wirklich eher alles über die ItemID machen, anstatt hier zweigleisig Name vs. ItemID zu fahren.