Ich glaube das grundlegendere Problem liegt woanders. Du kannst ja für deine eigenen Typen auch nen op+ schreiben, der dann letztlich ein Funktionsaufruf ist. Für int ist es halt ne besonderheit, intern im .Net Framework.
Das Problem liegt ganz einfach darin, dass Interfaces keine statischen Methoden vorgeben können, wie der op+ eine ist.
@AndreasW: Vielleicht kann ich dir hiermit deutlicher machen, was ich vermisse:
http://java.sun.com/j2se/1.5.0/docs/api/java/util/Arrays.html#sort(T[], java.util.Comparator)
Diese Methode sortiert ein Array mit Elementtyp T, der Comparator muss aber nicht ein Comparator<T> sein, sondern kann auch ein Comparator<Basisklasse von T> sein. Das kann schon sinnvoll sein, denn vielleicht ist T von einer Klasse abgeleitet, für die schon ein Comparator geschrieben ist, der für T auch noch passend ist.
Auf so etwas kann man öfter mal stoßen (nicht nur beim Vergleichen), wenn man es kennt, lernt man es zu schätzen, zumindest ich.
da ich anfangen will mit .net zu arbeiten wollte ich als erstes das machen was ich in VC++ 6. nicht hinbekommen habe.....
ich möchte von einem Win 2003 Mobile Gerät (client) einen keycode an einen Win 2000 Rechner (server) schicken.... unterm 6er kann ich beides schreiben .... nur den client nicht für Win03 Mobile.... darum hab ich mich entschlossen das unter .net zu versuchen.... aussehen soll das ganze so nur hab ich 0 plan wie ich in .net eine socket verbindung aufbaue bzw dann den keycode übertragen....
hat vieleicht jemand tipps.... tuts .... sources.... irgendwas mit dem ich anfangen könnte
danke schön schomal
und noch nen schönen SO abend
Es geht doch darum, dass du manchmal _ein bisschen_ mehr lowlevel bleiben musst. Für mein Echtzeitstrategiespiel mit Multiplayer-Modus nehme ich keine Webservices oder Remoting, das leuchtet doch ein, oder?
hm, dein Spiel muss ich mir echt mal anschauen
Sofern du den TCPChannel bei Remoting verwendest hast du keinerlei Nachteile gegenüber TCPClient. Geschwindigkeit ist ja die selbe. Wenn Das Framework langsammer wäre, würde ich dir Recht geben. Deshalb scheidet WebService erst einmal aus. Enterprise Services arbeitet mit DCOM, was so von der Performance her durchaus überzeugt. Also könntest du auch Enterprise Services einsetzen.
Du hast, wie bei Remoting, mehr Funktionalität ohne Nachteile. Geschwindigkeit ist in dieser Aufgabnestellung kein Ausschlusskriterium für die Frameworks.
[Edit]Ich hatte mal ein Projekt,bei dem ich auf (projektspezifische) Performanceprobleme gestoßen bin. Da hatte ich testeshalber auch mal auf TCPClient/TCPServer umgestellt. Hat 0 Performancegewinn gebracht. Nur ne Menge Serialisierungsarbeit (Serialisieren von Daten,Kommunikationsverwaltung) mehr.
[/EDIT]
hm, sieht eigentlich richtig aus.
Nimm besser WebService.
oder auch WSE : http://msdn.microsoft.com/webservices/building/wse/default.aspx
da kannste auch Binärdaten anhängen.
Sieht nach nem DirectX-Samplecode aus... Hast du das das DirectX-SDK installiert bzw. wenigstens die erforderlichen DirectX-Includes/Libs in deinem Include/Lib verzeichnis bereitgestellt??? Wenn nicht findet sich das komplette neue DirectX SDK unter http://www.microsoft.com/downloads/details.aspx?FamilyID=4e825a37-0c94-4421-9ec8-156e52525d11&DisplayLang=en sofern der Link funktioniert Das komplette SDK is aber bissl arg groß, du kannst im Internet eventuell nach abgespeckten Versionen suchen die nur die zum kompilieren benötigten files enthalten
Entweder wendest du jedesmal auf den String Repalce(".", ",") an oder du machst...
System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("en-GB");
Dann kannst du mit der englischen Fließkomma-Notation arbeiten und das wirkt sich auch nicht auf die Sprache des Userinterfaces aus.
Irgendwas hat das Programm immer zu tun und sei es auf die Aktion des Anwenders zu warten. Daher schlägt der GC dann zu wenn er denkt das so wenig zu tun sei das eine Garbage-Collection niemand bemerken würde. Und es ist gut möglich das der GC grade in dem moment denkt das niemanden seine Tätigkeit stört, wenn eine Verzögerung von ein paar Millisekunden unerwünscht ist.
Microsoft Visual C++ Run-Time Library msvcrt.lib
Das brauchst du glaub ich nur dann, wenn du dein Programm statisch linkst, d.h die Funktionen nicht aus einer Dll mit anderen Programmen teilen willst/kannst. Dafür wird dein Programm aber auch aufgeblasen...
Hallo
ich brauche ein Grid (gerne auch von einem Drittanbieter, falls free), in das ich Bilder laden kann. Die Bilder sollen die Zellen ganz ausfüllen.
(ich brauch eine art Schachbrett, in dessen Kacheln ich dann Bilder platzieren kann)
Vielleicht hilft dir das ppsGrid
Schau mal hier: http://www.c-plusplus.net/forum/viewtopic.php?p=687055#687055
Gruß Torsten
Hallo,
ich habe das Problem, dass wenn ich mein notifiyIcon irgendwann unsichtbar (Visible = false) und dann wieder sichtbar (Visible = true) mache, wird das Kontextmenü welches ich am Anfang initialiert habe nicht mehr beim Rechtsklick angezeigt. Das erneute initialisieren des Kontextmenüs beim sichbar machen des notifyIcons bewirkt leider auch nichts. Hat jemand ne Idee?
2 Sachen fallen mir ein:
http://blogs.msdn.com/csharpfaq/archive/2004/10/20/245412.aspx
oder auf die Nachricht WM_NCHITTEST mit HTTRANSPARENT reagieren.
Dein Beispiel sieht mir eher nach C++/CLI und zukünftigen Versionen (vor allem wegen dem new operator beim ref type) aus. In VC 7.1 (& mögl. uch 7.0) könntest du das genau gleich machen:
int bmp_dim = 256;
Bitmap __gc *bmp = __gc new Bitmap(bmp_dim, bmp_dim);
int fin = static_cast<int>(total*255.0f); //get in color range
Color col = Color.FromArgb(fin, fin, fin);
bmp.SetPixel(j, i, col);
Oder ohne managed C++: Du inkludierst einfach <windooze.h> und verwendest SetPixel (ich glaub das gibts wirklich...).