PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Blöde WinApi und VS2008


amida maru
2009-09-20, 14:22:00
Hallo ich hab ein problem und zwar ich hab dx sdk installiert und jetzt funzt winapi nichtmehr wirklich obwohl ich garkein dx sdk benutze oder einbinde.
hier der code(das auffällige ist bei meinem kumpel funzt der gleiche code ohne probleme)
http://nopaste.com/p/aOVAJhmMI
und die fehler:
http://nopaste.com/p/azwlm9FGb

ka an was das liegen könnte wäre dankbar für hilfe...

lg,
Tibo

Neomi
2009-09-20, 14:47:59
Die API ist nicht blöd. Man sollte bloß wissen, was man tut. In dem Fall solltest du einfach mal bei den offensichtlichen Fehlerquellen nachschauen, und zwar bei den globalen Directory-Settings für Include-Files. Ändere da die Reihenfolge der Verzeichnisse oder wirf die raus, die du nicht grundsätzlich haben willst.

amida maru
2009-09-20, 15:17:09
ah es funktioniert an erster stelle war dx sdk. aber kannst du mir auch bitte erklären wieso die reihenfolge eine rolle spielt?

vielen dank Neomi :)

Neomi
2009-09-20, 15:35:50
Das liegt daran, daß die Datei "windows.h" diverse andere Dateien in der Klammervariante (#include <...>) inkludiert, dabei wird nicht der aktuelle Ordner zuerst durchsucht, sondern direkt die eingestellten Pfade. Wenn jetzt unterwegs irgendeine Datei inkludiert werden soll, die in mehreren der Verzeichnisse vorhanden ist, nimmt der Compiler die erste, die er findet. Und wenn deren Inhalt sich von dem der eigentlich gewünschten Datei unterscheidet, kann es zu Problemen kommen, wie in deinem Fall unbekannte Namen. Die wurden in der gewünschten Datei deklariert, in der tatsächlich inkludierten aber nicht. Deshalb kommt es auf die Reihenfolge der Pfade an.

amida maru
2009-09-21, 13:50:01
wieso ist eine datei i mehreren verzeichnissen vorhanden?

Gast
2009-09-25, 10:25:28
wieso ist eine datei i mehreren verzeichnissen vorhanden?
Weil du verschiedene Versionen von einem SDK installiert hast z.b.

Aber mal was anderes, du solltest die Win32 API wirklich erstmal lassen und mit c# .net oder sowas anfangen. Auch Qt wäre zu empfehlen. Das bringt dir mehr und schont unsere Nerven. ;)
Sowas

WNDCLASSEX wndClass = {
sizeof(WNDCLASSEX), // Sizeof structure
CS_DBLCLKS | CS_OWNDC | // Standardstyle
CS_HREDRAW | CS_VREDRAW,
MessageHandler, // Callback-Function
0, // No need for these
0, //
hInstance, // Application-Instance
LoadIcon(NULL, IDI_WINLOGO),// Icon Logo
LoadCursor(NULL, IDC_ARROW),// Mouse-Cursor
(HBRUSH)GetStockObject( // White Brush
WHITE_BRUSH),
NULL, // No Menu
L"WindowClass", // Name of the class
LoadIcon(NULL, IDI_WINLOGO) // Small Icon
};

ist der Grund warum die win32 api (zu recht) als unschön verschrieen ist.

Crushinator
2009-09-25, 11:45:00
Schönheit liegt halt im Auge des Betrachters. Ich liebe das Win32-API!

The_Invisible
2009-09-25, 14:14:15
Schönheit liegt halt im Auge des Betrachters. Ich liebe das Win32-API!

mich könnte man damit foltern...

QT ansehen und dir werden die augen geöffnet ;)

mfg

xxxgamerxxx
2009-09-25, 22:53:30
mich könnte man damit foltern...

QT ansehen und dir werden die augen geöffnet ;)

mfg

Das ist klar, dass eine OO API oft leichter zu programmieren ist. Aber diese wrappen bei vielen Dingen auch nur die Betriebssystem APIs in neue leichtere Gewänder. Unabhängig davon ist die Win API aber sehr wohl sehr klar strukturiert.

Gast
2009-09-26, 20:23:34
Das ist klar, dass eine OO API oft leichter zu programmieren ist. Aber diese wrappen bei vielen Dingen auch nur die Betriebssystem APIs in neue leichtere Gewänder.
Ja, das ist genau das schöne daran. :)
<ms bash>
Hätte ja MS selbst auch machen können, aber nein das muss wieder von extern kommen...
</ms bash>
Unabhängig davon ist die Win API aber sehr wohl sehr klar strukturiert.
Es behauptet ja niemand dass sie es schlecht sei, funktioniert ja tatsächlich gut. Nur dadurch wird sie es auch nicht schöner. Oder anders ausgedrückt, dadurch bleibt sie es trotzdem potthässlich... ;)
Qt zeigt wie man ein Toolkit-API sauber und schön programmieren kann.

The_Invisible
2009-09-28, 11:34:06
Das ist klar, dass eine OO API oft leichter zu programmieren ist. Aber diese wrappen bei vielen Dingen auch nur die Betriebssystem APIs in neue leichtere Gewänder. Unabhängig davon ist die Win API aber sehr wohl sehr klar strukturiert.

wenn ich will kann ich unter qt auch das win handle bekommen und auf winapi ebene "herumpfuschen". wenn man den glass effekt will kommt man zb nicht darum herum da es in qt noch nichts entsprechendes gibt.

mfg

Coda
2009-09-28, 13:52:41
<ms bash>
Hätte ja MS selbst auch machen können, aber nein das muss wieder von extern kommen...
</ms bash>
Nennt sich MFC, ATL oder .NET