Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Suchergebnisse

Suchergebnisse 1-17 von insgesamt 17.

Werbeanzeige

06.08.2006, 21:12

Forenbeitrag von: »Mäxle«

Threads - shared Memory

gerne ccNet.h C-/C++-Quelltext 1 2 3 4 5 6 7 8 9 10 class ccNet { private: eigenesStruct Var //private Member ccNet(); public: int methode1(); }; ccNet.cpp C-/C++-Quelltext 1 2 3 4 5 6 7 8 9 ccNet::ccNet() { std::cout << &this->Var << std::endl; // Gibt eine Addresse aus }; ccNet::methode1() { std::cout << &this->Var << std::endl; // Gibt eine andere Addresse aus } Die Klasse ist wie gesagt eine Singletonklasse und wird als statische Library exportiert.

06.08.2006, 20:28

Forenbeitrag von: »Mäxle«

Threads - shared Memory

Mein Shared-Memmory Problem habe ich gelöst, aber dabei bin auf folgende Ungereimtheit gestoßen: Ich habe eine Singleton Klasse mit einem struct als private Membervariable. Warum liegt diese Variable im Konstruktor an einer anderen Addresse als in den normalen Methoden? Darauf bin ich gestoßen als ich versucht habe die Variable als CriticalObject im Konstruktor zu initialisieren, und daraufhin bei jedem Aufruf von EnterCriticalObject in den Methoden eine Speichezugriffsverletzung bekommen habe.

06.08.2006, 00:53

Forenbeitrag von: »Mäxle«

Threads - shared Memory

@David Danke. Das Stichwort Mutex war gut. Dadurch bin ich darauf aufmerksam geworden. In meinem Fall fahre ich aber wohl mit einem Critical-Section Object besser.

05.08.2006, 23:35

Forenbeitrag von: »Mäxle«

Threads - shared Memory

Ich bastel momentan ein einer C++ Klasse die für die Kommunikation zwischen Server und Client zuständig sein soll. U.a. wird dabei der Server initialisiert (bind, listen, etc) und, da es mehrere Clients geben soll, werden die verschiedenen Sockets verwaltet. Das Problem dabei ist natürlich, daß das das Programm nichtmehr viel tut wenn ich in einer Schleife neue Verbindungen akzeptiere ( mit accept :-)). Mein erster Gedanke war folgender: Ich starte einen neuen Thread, geb ihm einen Zeiger mit du...

03.07.2006, 01:06

Forenbeitrag von: »Mäxle«

IntelliSense Problem mit C++ Express Edition

Also die ncb Datei zu löschen ist auf jeden Fall ein offizieller Microsoft zertifizierter Lösungsweg (siehe Doku)

27.06.2006, 21:02

Forenbeitrag von: »Mäxle«

++i > i++ ?

Also im Endeffekt ist das wiklich ne Frage des Compilers: Quellcode 1 2 3 4 5 6 7 8 9 pre: movl 4(%bsp) %eax // Addresse des Poniters vom Stack holen addl $1 (%eax) // Wert an der Addresse inrementieren movl (%eax) %eax // Wert in Register Speichern ret post: movl 4(%bsp) %ebx // Addresse des Poniters vom Stack holen movl (%ebx) %eax // Wert in Register Speichern $addl $1 (%ebx) // Wert an der Addresse inrementieren ret Wenn das ungefähr so übersetzt wird, dann macht das keinen Unterschied

26.06.2006, 16:07

Forenbeitrag von: »Mäxle«

Eure Homepage-Technik

Zitat Tabellen nimmt man für Tabellen und nix anderes, für alles andere nimmt man CSS Stylesheets, [...] Wie kann man denn mit CSS Frames simulieren? Bisher habe ich da Tabellen immer für sehr praktisch gehalten; z.B. eine Zelle für den Kopf und drunter 2 Zellen für Menue und Hauptframe, und in jeder Zelle lade ich dann mit php meine "Frame - Inhalte"

25.06.2006, 15:28

Forenbeitrag von: »Mäxle«

char[] -> LPCTSTR

Mich hat ja nur verwirrt, daß in einem anderen Projekt C-/C++-Quelltext 1 GetPrivateProfileString(aBSection, "modelFile", "NULL", pHouse->m_pModelFile, sizeof(pHouse->m_pModelFile), "Data\\map1.ini"); funktioniert. Ich hab jetzt aber gerade bemerkt das da wohl irgendwo C-/C++-Quelltext 1 #define GetPrivateProfileString GetPrivateProfileStringA steht. Und das erklärt natürlich alles

25.06.2006, 14:33

Forenbeitrag von: »Mäxle«

char[] -> LPCTSTR

Erstmal Danke für die Antworten. Mit wchar_t klappt's natürlich; ich frage mich aber warum ein und die selbe Funktion in David's Breakanoid char-Arrays schluckt, und in einem anderen Projekt nicht. Außerdem müßte ich dann für alle Argumente Variablen benutzen; wenn ich nämlich sowas wie "bla" in den Funktionsaufruf schreibe meckert er auch weil "bla" ein char[] ist.

24.06.2006, 21:09

Forenbeitrag von: »Mäxle«

char[] -> LPCTSTR

Das ist ja nur die Unicode Variante der Funktion, die wird sowieso standardmäßig verwendet. Leider schluckt die aber auch keine char-Arrays... EDIT: Umcasten klappt auch nicht; der Kompieler meckert dann zwar nicht, aber es kommt Murks raus.

24.06.2006, 18:58

Forenbeitrag von: »Mäxle«

char[] -> LPCTSTR

Ich möchte für ein kleines Program die Funktion "GetPrivateProfileString()" http://msdn.microsoft.com/library/defaul…ofilestring.asp nutzen. Allerdings muß ich die Argumente (char[]) manuell in LPCTSTR umcasten. Als ich die Funktion in einem anderen Programm, das auf einem Spiel aus David's Buch basiert, verwendet habe, mußte ich nicht casten. Jetzt würde ich gerne wissen wie man es hinbekommt, daß automatisch gecastet wird. Evtl. noch irgendwas dazulinken?

02.06.2006, 19:33

Forenbeitrag von: »Mäxle«

Probleme mit Visual C++ 2005 Express Edition

Also zu erst muß ich mal anmerken, daß es bei mir keine Probleme im Zusammenhang mit V C++ 2005 gegeben hat. -> keine Panik evtl. bezieht sich das nur auf ältere Versionen der Tribase Engine. Libraries einbinden ist auch nicht besonders aufregend: Erstmal öffnest du die Projektdatei für VC++2005. Die heißt "Alle Projekte 2005" oder so ähnlich. Dann gehst du in der Menüleiste auf Projekt -> Eigenschaften In dem neuen Fenster suchst du unter "Konfigurationseigenschaften" den Abschnitt "Linker" und...

02.06.2006, 15:40

Forenbeitrag von: »Mäxle«

tbLineHitsModel - Modeldaten fehlen

Na gut, wer lesen kann ist klar im Vorteil Die Extradaten werden also bei Initialisierung der Modelle erzeugt. Allerdings sind sie bei mir trotzdem nicht da, auch wenn ich den bGenerateExtraData Parameter von tbModel:init explizit auf TRUE setze..

01.06.2006, 17:21

Forenbeitrag von: »Mäxle«

tbLineHitsModel - Modeldaten fehlen

Folgendes Scenario: Ich habe einen Quader mit Kantenlänge 100 der seinen Mittelpunkt genau im Ursprung des Weltkoordinatensystems hat. Wenn ich jetzt tbLineHitsModel folgendermaßen aufrufe, gibt die Methode immer true zurück... C-/C++-Quelltext 1 tbLineHitsModel(tbVector3(1000, 0, 0), tbVector3(1000, 1, 0), quader->m_pModel, quader->m_mTransform, tbMatrixInvert(quader->m_mTransform)); Eigentlich sollte die Gerade durch die Punkte (1000,0,0) und (1000,1,0) parallel zur y Achse laufen und den Quad...

18.05.2006, 17:34

Forenbeitrag von: »Mäxle«

Vererbung Kind-Metoden

Danke für die Anregungen Durch das umcasten bin ich erstmal auf einen Fehler bei der Speicherreservierung aufmerksam geworden. An abstrakte Klassen habe ich garnicht mehr gedacht, da ich die ein oder andere abgeleitete Klasse ursprünglich noch weiter ableiten wollte.... und dann hätte mir das auch nicht weiter geholfen. Allerdings ist das konzeptionell sowas von schwachsinnig, daß ich es jetzt doch mit einer abstrakten Basisklasse implementieren kann

18.05.2006, 15:52

Forenbeitrag von: »Mäxle«

Vererbung Kind-Metoden

Ich wollte alle statischen Elemente (Häuser, etc. ) die sich auf einer Karte meines Spiels befinden in einer verketten Liste speichern. Für die einzelnen Elemente habe ich mir verschiedenen Klassen geschrieben, wie z.B. CHouse, die neben den Positionsangaben, etc auch einen Pointer auf ein 3D Modell besitzen. Um die Liste möglichst einfach zu halten, habe ich alle diese Klassen von einer Klasse CMapElment abgeleitet und speichere in der Liste Pointer vom Typ CMapElement der auf Objecte vom Typ C...

10.04.2006, 20:36

Forenbeitrag von: »Mäxle«

Kompilieren der triBase Engine MS VC++ 2005 Express

Leider kann ich meinen letzten Beitrag nicht editieren, weil ich ihn als Gast geschrieben habe, aber dann kommt eben hier die Entwarnung. Ich habe mir vor dem Neucompilieren schon eine Kopie von der Engine in ein anderes Verzeichnis gezogen und den Lib und Include Pfad dorthin gesetzt. Und dort lag eben noch eine alte Bibliotheksdatei rum :crying:

Werbeanzeige