Zum Inhalt springen

FinalFantasy

Mitglieder
  • Gesamte Inhalte

    966
  • Benutzer seit

  • Letzter Besuch

Alle Inhalte von FinalFantasy

  1. Pure Virtual Function call heisst, dass du eine Funktion aufrufst, die zwar definiert, aber nicht implementiert ist. Da es beim Beenden passiert, tippe ich auf einen Fehler im Destruktor deiner CInternetSession, dazu hast du aber leider keinen Code gepostet. Wenn es bei CInternetSession kracht, wäre deren Innenleben interessant.
  2. VGA auf Scart kann sehrwohl gehen. Scart an sich ist nämlich gar keine spezielle Anschlussart, sondern nur ein Fromat des Steckers. Ein vollbeschaltenes Scartkabel reicht nur mehrere andere Anschlussformate durch, so ist in Scart z.B. S-Video, Komponenten-Video, YUV, etc. enthalten. Alte Computermonitore hatten oft nur den YUV-Komponentenanschluss und dementsprechend Kabel mit YUV->VGA. VGA ist desweiteren nichts anderes als YUV-Komponenten mit einem anderen Stecker. Ich betreibe beispielsweise auch eine PS3 mit YUV-Ausgang am VGA-Port meines Flat-TVs. Das Problem dabei ist meistens nur, dass die TV Geräte die entsprechenden Pins vom Scartanschluss für YUV oder S-Video nicht verschaltet haben und das TV-Gerät so diese Signal nicht verwerten kann. Neuere TV-Geräte haben dann meistens sowieso andere Anschlüsse. Auch der S-Videoanschluss ist bei älteren TV Geräten oft problematisch, da es auch hier 2 Unterschiedliche Beschaltungen für die Stecker gibt und ältere TV-Geräte sich nicht auf beide verstehen. Das Ergebnis ist dann das typische Schwarz-Weiß Bild auf dem TV.
  3. Hm, ich hab es schon befürchtet, dass es so ist. :upps Das mit using funktioniert aber, habs ausprobiert :cool:. Allerdings für meinen Fall eher unpraktikabel, aber trotzdem danke für den Hinweis, wieder was dazugelernt.
  4. Hi, ich habe hier gerade ein kleines Konstrukt zustande gebracht, bei dem ich nicht verstehe, wieso es nicht funktioniert. Das Ausgangskonstrukt war so: class Interface { public: virtual void load(DomNode node) = 0; virtual void save(DomNode node) = 0; } class A : public Interface { public: virtual void load(DomNode node) { MACH WAS }; virtual void save(DomNode node) { MACH WAS }; } [/PHP] Aber da Programmierer ja faul sind, wollte ich mein Interface um eine Methode erweitern, die mir das Laden direkt aus einer Datei erlaubt. Also so: [PHP] class Interface { public: virtual void load(DomNode node) = 0; virtual void save(DomNode node) = 0; void load(String Dateiname) { File file(Dateiname); if(file.open()) { DomDocument doc(file.readAll()); load(doc.rootElement()); } } } Damit habe ich die load-Methode ja überladen, auch wenn eine virtuell abstrakt ist. (Ich habe schon versucht, die zweite load-Methode auch virtuell zu machen, obwohl das nicht nötig wäre, bringt aber auch keine Besserung) Was ich jetzt NICHT funktioniert: A a; a.load("test.xml"); [/PHP] Fehlermeldung: const char[] kann nicht in DomNode konvertiert werden. Folgendes Konstrukt klappt aber: [PHP] A a; Interface* if = dynamic_cast<Interface*>(&a); if->load("test.xml"); Wieso ist die load(string)-Methode in der abgeleiteten Klasse nicht verfügbar? Wenn ich die load(string)-Methode im Interface allerdings loadFromFile() nenne (und damit die Methode nicht mehr überlade), klappt es auch wie es soll. Ist übrigens alles Pseudocode aber wie gesagt, es handelt sich um C++.
  5. Also ich spiele mit Gamepad und da ist (wenn man von ner PSX ausgeht) die Kreistaste rücksetzen zum letzten Checkpoint und R1 is Rücksetzen zum Start, bzw Rennen neu starten. In nem Tournier brauchste aber eh nicht weiterfahren, wenn du schonmal rücksetzen müsstest. Ich weiß nicht, wie da die Tastaturbelegung ist, aber kannst ja mal in den Einstellungen nachschauen. Das geht auf jeden Fall.
  6. Ja, ich spiele seit ca. 3 Monaten Tmnf. Wie ist denn dein Ingamenick? Vielleicht trifft man sich ja mal.
  7. Er ist ganz praktisch, wenn man seine Oberflächen lieber "malt" anstatt direkt den Code dazu zu programmieren. Aber rein programmiertechnisch kann man mit dem Qt Designer alleine nicht viel anfangen. Dazu brauchst du mindestens noch einen Editor und einen Compiler und va. Qt selbst, falls du Qt verwenden willst. Oder eben einfacher gleich eine komplette IDE, wie Visual Studio, XCode, DevC++, Eclipse... EDIT: Kannst dir ja mal den Qt Creator anschauen. Das ist eine komplette IDE auf Qt zugeschnitten. Verwaltet direkt die pro-Files, hat den Designer schon intergriert... Ist allerdings noch Beta.
  8. Der QT Designer ist nur zum Erstellen von Oberflächen gedacht, das ist keine IDE. Damit kann man keinen Code programmieren und damit auch nichts kompilieren. Die ui-Datei (UserInterface) ist auch keine Projektdatei, sondern eine XML-Datei, die deine GUI beschreibt. Das einzige was du machen kannst ist, dir mit dem uic (UserInterface Compiler) der bei QT (nicht dem Designer) dabei ist, deine ui-Datei in ein ganz normales C++ Sourcefile umwandeln, welches du dann mit deinem C++ Compiler kompilieren kannst.
  9. Jetzt muss ich auch mal meinen Senf dazugeben: Also ich finde auch, dass der Verfall von Rechtschreibung und Grammatik in letzter Zeit stark zugenommen hat und leider auch die Verwendung von Denglisch und ähnlichen Neologismen. Wie ich dazu komme? Ich treffe in vielen Foren immer häufiger auf solche Beiträge und noch viel schlimmer: Ich merke es in letzter Zeit auch bei Freunden und Bekannten. Groß- und Kleinschreibung find ich da noch nichtmal schlimm, Rechtschreibfehler/Tippfehler gehen auch noch, aber was ich absolut nicht ausstehen kann, sind interpunktionslose und absatzfreie 10 Zeilen Texte. Man muss alles dreimal lesen um überhaupt den Sinn zu verstehen. Ein Freund von mir, den ich jetzt seit 5 Jahren kenne, ist wirklich Legastheniker (ärztlich bescheinigt) und von daher kann ich sagen, man kann den Unterschied zwischen Legasthenie und nicht Legasthenie schon gut erkennen. Im Chat wundere ich mich noch nichtmal über Chatkürzel, etc. (früher mit Modem konnte man das noch mit "Bandbreite sparen" erklären :cool:). Aber spätestens bei Instant Messenger, Foren, etc. wo die Beiträge doch mal mehrere Sätze umfassen können, wären Satzzeichen oft schon nicht schlecht. Gegen Dialekt im Chat oder IM hab ich dagegen gar nichts, zumindest wenn der "Gegenüber" den selben Dialekt spricht/versteht. So, und zum Schluss: Ich bin kein Deutschlehrer und schreibe sicherlich auch nicht immer fehlerfrei... aber ein bisschen mehr könnte es, bei dem was man so liest, schon oft sein. Lieber mal ein falsches Komma zuviel, als ein richtiges zu wenig.
  10. Kannst auch Fli4L in einer VM laufen lassen. Ist ein recht kompaktes Linux, das relativ einfach zu konfigurieren ist und trotzdem schon eine Menge Funktionen mitbringt und erweiterbar ist.
  11. FinalFantasy

    PC aufrüsten

    Ich bin selbst noch stolzer Besitzer eines P4 3,0Ghz und ich hab eine Radeon X1800GTO drinnen. Ich bin momentan auch am Überlegen, ob ich mir ein neues System kaufe, aber da mir der PC fürs alltägliche eigentlich leistungsfähig genug ist, werd ich wohl noch Windows 7 abwarten. Aber zu deinem System: Erfahrungsgemäß ist dein System recht gut ausbalanciert. Nur eine neue Graka bringt nicht viel, da dann die CPU bremst. Da sowohl Grafikkarte als auch CPU schon mehrere Generationen alt sind, würd ich auch zu einem neuen System raten, als zu irgendwelchen Aufrüstaktionen.
  12. Hmm, so hab ich das noch gar nicht gesehen. Danke für die Hinweise.
  13. Es geht um C++. War mir gar nicht bewusst, dass es hier einen Unterschied zu C gibt. :beagolisc Okay, also könnte man sich funktional auf den Code verlassen, aber es ist unschön. Ich bin immer davon ausgegangen, dass true alles ausser 0 sein kann, da bool ja intern wie ein int behandelt wird.
  14. Hi, habe gerade Code entdeckt, der prinzipiel sowas hier macht: bool b = true; int i = 0; i += b;[/PHP] Nach meinem Verständnis ist sowas nicht so toll, da bool ja mit 0 = false und alles andere ist true definiert ist. Der Wert von i nach der Addition dürfte also undefiniert sein. Allerdings klappt das Konstrukt zumindest im Debug einwandfrei. Release hab ich jetzt nicht getestet. Was mich allerdings überrascht: Der VS2005 Compiler wirft hier nichtmal eine Warnung! Was haltet ihr davon? Sowas sollte man schon vermeiden, oder?
  15. p1 geht. p2 geht auch, da im Template ein Default-Typ (int) hinterlegt ist. p3 geht definitiv nicht, wie du sagst. p4 geht, wenn ein Typ Artikel definiert ist. p5 geht nicht, da das hier eine Dereferenzierung auf eine Variable wäre, aber ein Typ benötigt wird p6 geht auch, im Template wäre es halt dann ein Pointer auf einen Pointer. Sollte ich irgendwo falsch liegen, lasse ich mich gern korrigieren. BTW: man könnte es ja einfach mal ausprobieren :cool:
  16. Ich hab zwar nur VS2k5, aber soviel sollte da nicht um sein. Ich weiß nicht genau, wie eure Projekte so aufgebaut sind, aber ich organisier mir das hier anders. Normalerweise hab ich auf einem Monitor das Studio auf Vollbild und auf dem zweiten Monitor sind dann so ziemlich alle anderen Helferlein, wie Texteditor (für XML-, INI-Files...), Browser, MSDN, Outlook, .... Wenn ich an zwei verschiedenen VS-Projekten arbeite, kommt es auch mal vor, dass ich auf dem zweiten Monitor nochmal VS offen habe. Bei anderen Kollegen hab ich auch schon gesehen, dass sie mehr oder weniger alle Docks aus dem Studio gelöst haben und diese auf dem zweiten Monitor verteilt haben und so auf einem Monitor nur die Sourcen haben. Find ich aber eher unpraktisch, so viele lose Fenster. Theoretisch kannst du das Studio auch zweimal mit dem selben Projekt öffnen. Da nervt aber dann eher die Meldung, dass geöffnete Dateien von extern verändert wurden, wenn man zwischen den Instanzen wechselt.
  17. Genau solche Phänomene hatte ich vor Jahren auch mal. Da lags am Mainboard, das dann auch irgendwann total den geist aufgegeben hatte, da Elkos geplatzt sind. Nach ein bisschen Internetrecherche stellte sich dann auch raus, dass grad dieses Mainboard besonders anfällig für den Fehler war.
  18. Hi, kennt einer von euch den Werbespot wo eine französiche Frau sich drüber beschwert, dass die Deutschen Kondome auch Pariser nennen? Ich hab den glaub ich im Radio gehört und eben gegoogelt, aber ich find ihn leider nicht. Weiß vielleicht jemand, ob/wos den gibt? Der ist echt göttlich.
  19. FinalFantasy

    C++ cli

    Ahh, hehe, tricky. Ich weiß jetzt nicht genau, wie sich das mit den ^-Handles verhält, aber du hast ja string^ und nicht string. Dass die string-Klasse keinen == Operator hat, kann ich mir kaum vorstellen, aber ich könnte mir vorstellen, dass der hier nicht greift, weil du nicht die Strings vergleichst, sondern deren Handles, und die dürften so gut wie IMMER unterschiedlich sein. string* a, b; a == b;[/PHP] funktioniert auch nicht, weil du hier die Pointer vergleichst und nicht die Strings. Weil man Pointer aber vergleichen kann, gibts auch keinen Compilerfehler, den du ja anscheinend auch nicht kriegst. Hätte die String-Klasse keinen Vergleichsoperator, müsstest du aber einen kriegen. In C++ (ohne Managed), müsste man hier die Pointer dereferenzieren: [PHP]*a == *b; würde funktionieren. Ich kann dir aber leider nicht sagen, wie das mit den ^-Dingern funktioniert. Aber hier sitzt vermutlich der Fehler. Statt mit == zu vergleichen, gibts aber auch sicher eine compare- oder equals-Methode. Statt (line != "") könntest du also auch (!line.equals("")) schreiben, was auch wieder funktionieren würde. (bzw. (!line->equals(""), falls Managed C++ hier auch noch zwischen "Pointer" und Objekt unterscheidet). Statt length auf 0 zu prüfen, gibts bestimmt auch eine isEmpty-Methode oder sowas ähnliches.
  20. FinalFantasy

    C++ cli

    Ich steck jetzt auch nicht so tief in managed C++ drin, aber soweit ich weiß, gibts da keine Pointer im C-Sinne mehr (die wären ja auch unmanaged). Der Ersatz ist das ^. Ich nenn das jetzt einfach mal "Verweis" um es nicht mit Referenzen gleichzusetzen. Das vor dem Gleichheitszeichen ist als ein Verweis auf ein Array mit Verweisen auf Strings, also das Äquivalent zu etwa "std::vector<std::string*>* array". Managed C++ verwendet auch eine Art GarbageCollector, der eben diese Verweise verwaltet und sich ums Löschen kümmert, soweit ich weiß. Sollte ich jetzt hier was falsches Erzählen, lasse ich mich gerne Berichtigen. Aber meine persönliche Meinung: Ich hab mich selbst nur kurz mit managed C++ befasst, und habe eigentlich keine Vorteile gegenüber C# entdecken können, ausser dass die Sytnax "unschöner" ist als von C#. Deshalb: Wenn schon .NET, dann doch auch gleich mit C#. (<- meine persönliche Meinung!!!!!)
  21. FinalFantasy

    C++ cli

    Die Notation kommt von Managed C++. Also C++ mit .NET. Microsoft hat da die Syntax etwas erweitert. Wie lautet denn die Fehlermeldung genau? Enthält das Array denn Strings nach dem Aufruf von ReadAllLines, sprich: konnte wirklich was gelesen wurden? Liegt die auszulesende Datei benutzer.txt im Arbeitsverzeichnis des Programms? (Das kann auch vom Speicherort der .exe-Datei abweichen!) Gegebenfalls würde ich es mal mit einer absoluten Pfadangabe zur Datei versuchen, also wirklich "c:\\benutzer.txt" angeben. (Die Datei sollte dann natürlich auch direkt unter c: hinterlegt sein).
  22. Hi, passt wohl jetzt nicht so ganz in den Forumteil, aber woanders irgendwie auch nicht. Also bitte verschieben, wenns was besseres gibt. Mein Problem: Ich hab massives Tearing im VLC, besonders, wenn ich DVD schaue. Hab schon im Catalyst (Ati X1850 GTO) gesucht, aber keine Einstellung für VSync gefunden. Habs mit "Force Refreshrate 60Hz" probiert, bringt aber nichts. Im VLC selber find ich auch keine Einstellungsmöglichkeiten. Im WMP tritt der Effekt nicht auf, aber der zickt bei vielen DVDs dank Kundenvergraulfunktionen der DVDs. Mit WinDVD hab ich zwar kein Tearing, aber das zieht irgendwie ganz fürchterliche Schlieren. Hat jemand eine Idee, wie man das Problem im VLC noch beheben könnte?
  23. Ich glaube nicht, dass RMI an sich das Problem ist. Ich glaube, dass das Polling schuld ist. Vielleicht noch das Polling in Verbindung mit RMI, aber nicht RMI alleine. Beim chatten kommt man auf geschätzte, mittlere Datenraten von 50-100Byte/s (mal geschätzt, wieviel man pro Sekunde zu tippen schafft). Selbst bei 200% Overhead und 500 Usern, die sich gleichzeitig die Finger wund schreiben, kommt man gerade auf 300Byte/s*500 ~ 150kb/s. Also wenn das RMI das nicht bewältigen können sollte (davon sind ja grad mal 1/3 Nutzdaten!!), dann ist das Protokoll meiner Meinung nach absolut unbrauchbar. Und das ist noch ne pessimistische Worst-Case-Überlegung. Aber wenns wirklich an dem RMI liegt, belehrt mich ruhig eines besseren. Und wenn RMI nicht stateless ist, dann steht die Verbindung ja dauerhaft. Ist die dann nicht bidirektional?
  24. Ich hab keine Ahnung wie das RMI funktioniert, aber ICQ, Jabber usw. senden und empfangen denke ich mal über die gleiche Verbindung. Die Verbindung steht also schon, wenn der Server was zum Client schicken will. Es muss sich also keine neue Verbindung von Aussen durch Firewalls und Router bohren.
  25. Warum schickt der Server nicht einfach neue Nachrichten zum Client? Dieser hat sich ja vorher (nehme ich an) beim Server angemeldet, ist also vom Server aus erreichbar. Das was du gemacht hast, hört sich für mich nach Polling an. Weiß zwar nicht, ob das das Performanceproblem ist, aber das ist schonmal ungünstig. Wenn jeder Client 1x pro Sekunde pollt, dann hast du bei 500 Clients schon 500 abfragen, die der Server pro Sekunde abarbeiten muss, auch wenn keine einzige Nachricht versendet wurde.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...