JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen 
 medals.php?sid=4bad16892ec107ce85ca22d1252ec96dMedaillen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Statusbox...
Gehe zu Seite 1, 2  Weiter
 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Fragen, Antworten und Kritik
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
RebornX
JLI'ler



Anmeldedatum: 16.03.2007
Beiträge: 169

Medaillen: Keine

BeitragVerfasst am: 17.02.2008, 20:36    Titel: Statusbox... Antworten mit Zitat

Hi,

weil mich die messagebox nervt, habe ich beschlossen eine statusbox zu schreiben, die mir auch recht gut gelungen ist finde ich:

statusfeld.h

Sie ist so gebaut, das ich sie in jedes Projekt mühelos einfügen kann.
Da wird beim start des programms ein zweites window geöffnet wo dann die statusbox drin ist, solange man in der WinMain CreateStatusWindow(hInstance);
aufruft.

Anschließend kann man dann mit AddText("blabla fehler blabla"); einen text in der statusbox ausgeben.

Jedoch habe ich ein kleines Problem:
Ich übe ja jetzt directX mit dem buch von Christian Rouselle und bin da schon im Kapitel 20.5 .
Da gibt es eine Direct3D Klasse, wo ich auch gern die Statusbox intigrieren will (fragt nicht warum):
Direct3D.cpp
Direct3D.h

Wenn ich jedoch da mit #include "statusfeld.h" die statusbox includieren will, damit ich auch da AddText(); nutzen kann kommt der Fehler:
Code:
1>Direct3D.obj : error LNK2005: "struct HWND__ * __cdecl CreateStatusWindow(struct HINSTANCE__ *)" (?CreateStatusWindow@@YAPAUHWND__@@PAUHINSTANCE__@@@Z) ist bereits in Locksurface.obj definiert.
1>Direct3D.obj : error LNK2005: "long __stdcall StatusFeld(struct HWND__ *,unsigned int,unsigned int,long)" (?StatusFeld@@YGJPAUHWND__@@IIJ@Z) ist bereits in Locksurface.obj definiert.
1>Direct3D.obj : error LNK2005: "bool __cdecl AddText(char *)" (?AddText@@YA_NPAD@Z) ist bereits in Locksurface.obj definiert.
1>Direct3D.obj : error LNK2005: "struct HWND__ * hStatus" (?hStatus@@3PAUHWND__@@A) ist bereits in Locksurface.obj definiert.
1>Locksurface.obj : error LNK2005: "struct HWND__ * __cdecl CreateStatusWindow(struct HINSTANCE__ *)" (?CreateStatusWindow@@YAPAUHWND__@@PAUHINSTANCE__@@@Z) ist bereits in Direct3D.obj definiert.
1>Locksurface.obj : error LNK2005: "long __stdcall StatusFeld(struct HWND__ *,unsigned int,unsigned int,long)" (?StatusFeld@@YGJPAUHWND__@@IIJ@Z) ist bereits in Direct3D.obj definiert.
1>Locksurface.obj : error LNK2005: "bool __cdecl AddText(char *)" (?AddText@@YA_NPAD@Z) ist bereits in Direct3D.obj definiert.
1>Locksurface.obj : error LNK2005: "struct HWND__ * hStatus" (?hStatus@@3PAUHWND__@@A) ist bereits in Direct3D.obj definiert.


Was mache ich falsch?
_________________
Besucht meine Seite:
www.cpparchiv.dl.am
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Otscho
Super JLI'ler


Alter: 36
Anmeldedatum: 31.08.2006
Beiträge: 338
Wohnort: Gummibären-Gasse
Medaillen: Keine

BeitragVerfasst am: 17.02.2008, 21:29    Titel: Antworten mit Zitat

Sieht so aus als hättest du die "statusfeld.h" mehrmals in deinem Projekt eingebunden und den Kompiler nervts, dass du so oft Funktionen mit dem selben Namen und Argumetlisten schreibst, was zwangsläufig aus den oftmaligen Einbinden kommt.

Damit der Kompiler hier nichts missversteht solltest du ihm sagen, dass er deine header Datei nur einmal kompilieren braucht.

Das geht afaik durch Anweißungen wie:
CPP:
#pragma once

oder:
CPP:
#ifndef HEY_ICH_WURDE_BEREITS_KOMPILIERT

#define HEY_ICH_WURDE_BEREITS_KOMPILIERT


Am Anfag deiner "statusfeld.h"

Übrigens:

CPP:
LRESULT CALLBACK StatusFeld(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
        switch(msg)
        {
               
        default:
                return DefWindowProc (hwnd, msg, wParam, lParam);
        }
}


Als Windows-prozedur zu schreiben ist kein besonders guter Stil.
Zumindest auf Nachrichten wie WM_DESTROY oder WM_PAINT solltest du schon was zu bieten haben.
Ich geh mal davon aus, dass du damit noch nicht fertig bist. Wink
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
PeaceKiller
JLI Master


Alter: 35
Anmeldedatum: 28.11.2002
Beiträge: 970

Medaillen: Keine

BeitragVerfasst am: 17.02.2008, 22:59    Titel: Antworten mit Zitat

Otscho hat Folgendes geschrieben:
Sieht so aus als hättest du die "statusfeld.h" mehrmals in deinem Projekt eingebunden und den Kompiler nervts, dass du so oft Funktionen mit dem selben Namen und Argumetlisten schreibst, was zwangsläufig aus den oftmaligen Einbinden kommt.

Damit der Kompiler hier nichts missversteht solltest du ihm sagen, dass er deine header Datei nur einmal kompilieren braucht.


Nein, der Compiler meckert hier gar nichts. Das ist der Linker. Deine Problem würde eine andere Fehlermeldung anzeigen, a la "doppelter Funktionsdefinition".

Hier beschwert sich aber der Linker über doppelte Implementationen.

Und zwar musst du in Locksurface.cpp und Direct3D.cpp dieselben Funktionen definiert haben. Was dadurch passiert, das du die Implementationen in statusfeld.h definierst. In den Header sollten nur die Deklarationen und in die statusfeld.cpp dann die Implementationen.
_________________
»If the automobile had followed the same development cycle as the computer, a Rolls-Royce would today cost $100, get a million miles per gallon, and explode once a year, killing everyone inside.«
– Robert X. Cringely, InfoWorld magazine
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
RebornX
JLI'ler



Anmeldedatum: 16.03.2007
Beiträge: 169

Medaillen: Keine

BeitragVerfasst am: 18.02.2008, 12:39    Titel: Antworten mit Zitat

PeaceKiller hat Folgendes geschrieben:

Hier beschwert sich aber der Linker über doppelte Implementationen.

Und zwar musst du in Locksurface.cpp und Direct3D.cpp dieselben Funktionen definiert haben. Was dadurch passiert, das du die Implementationen in statusfeld.h definierst. In den Header sollten nur die Deklarationen und in die statusfeld.cpp dann die Implementationen.


Hmm naja ^^ wenn ich das so mache:
statusfeld.h
statusfeld.cpp

Dann kommt da der Fehler:
Code:
1>c:\program files\microsoft sdks\windows\v6.0a\include\richedit.h(307) : error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner 'cb'
1>c:\program files\microsoft sdks\windows\v6.0a\include\richedit.h(307) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
1>c:\program files\microsoft sdks\windows\v6.0a\include\richedit.h(307) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
1>c:\program files\microsoft sdks\windows\v6.0a\include\richedit.h(308) : error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner 'flags'
1>c:\program files\microsoft sdks\windows\v6.0a\include\richedit.h(308) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
1>c:\program files\microsoft sdks\windows\v6.0a\include\richedit.h(308) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
1>c:\program files\microsoft sdks\windows\v6.0a\include\richedit.h(474) : error C2065: 'EDITWORDBREAKPROCEX': nichtdeklarierter Bezeichner
1>c:\program files\microsoft sdks\windows\v6.0a\include\richedit.h(474) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
1>c:\program files\microsoft sdks\windows\v6.0a\include\richedit.h(474) : error C2143: Syntaxfehler: Es fehlt ';' vor '('
1>c:\program files\microsoft sdks\windows\v6.0a\include\richedit.h(474) : error C2062: 'char'-Typ unerwartet
1>c:\program files\microsoft sdks\windows\v6.0a\include\richedit.h(474) : error C2059: Syntaxfehler: ')'
1>c:\program files\microsoft sdks\windows\v6.0a\include\richedit.h(480) : error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner 'cbSize'
1>c:\program files\microsoft sdks\windows\v6.0a\include\richedit.h(480) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
1>c:\program files\microsoft sdks\windows\v6.0a\include\richedit.h(480) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
1>c:\program files\microsoft sdks\windows\v6.0a\include\richedit.h(481) : error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner 'dwMask'
1>c:\program files\microsoft sdks\windows\v6.0a\include\richedit.h(481) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
1>c:\program files\microsoft sdks\windows\v6.0a\include\richedit.h(481) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
1>c:\program files\microsoft sdks\windows\v6.0a\include\richedit.h(482) : error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner 'dwEffects'
1>c:\program files\microsoft sdks\windows\v6.0a\include\richedit.h(482) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
1>c:\program files\microsoft sdks\windows\v6.0a\include\richedit.h(482) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
1>c:\program files\microsoft sdks\windows\v6.0a\include\richedit.h(483) : error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner 'yHeight'
1>c:\program files\microsoft sdks\windows\v6.0a\include\richedit.h(483) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
1>c:\program files\microsoft sdks\windows\v6.0a\include\richedit.h(483) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
1>c:\program files\microsoft sdks\windows\v6.0a\include\richedit.h(484) : error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner 'yOffset'
1>c:\program files\microsoft sdks\windows\v6.0a\include\richedit.h(484) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
1>c:\program files\microsoft sdks\windows\v6.0a\include\richedit.h(484) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
1>c:\program files\microsoft sdks\windows\v6.0a\include\richedit.h(485) : error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner 'crTextColor'
1>c:\program files\microsoft sdks\windows\v6.0a\include\richedit.h(485) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
1>c:\program files\microsoft sdks\windows\v6.0a\include\richedit.h(485) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
1>c:\program files\microsoft sdks\windows\v6.0a\include\richedit.h(486) : error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner 'bCharSet'
1>c:\program files\microsoft sdks\windows\v6.0a\include\richedit.h(486) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
1>c:\program files\microsoft sdks\windows\v6.0a\include\richedit.h(486) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
1>c:\program files\microsoft sdks\windows\v6.0a\include\richedit.h(487) : error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner 'bPitchAndFamily'
1>c:\program files\microsoft sdks\windows\v6.0a\include\richedit.h(487) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
1>c:\program files\microsoft sdks\windows\v6.0a\include\richedit.h(487) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
1>c:\program files\microsoft sdks\windows\v6.0a\include\richedit.h(488) : error C2065: 'LF_FACESIZE': nichtdeklarierter Bezeichner
1>c:\program files\microsoft sdks\windows\v6.0a\include\richedit.h(493) : error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner 'cbSize'
1>c:\program files\microsoft sdks\windows\v6.0a\include\richedit.h(493) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
1>c:\program files\microsoft sdks\windows\v6.0a\include\richedit.h(493) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
1>c:\program files\microsoft sdks\windows\v6.0a\include\richedit.h(494) : error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner 'dwMask'
1>c:\program files\microsoft sdks\windows\v6.0a\include\richedit.h(494) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
1>c:\program files\microsoft sdks\windows\v6.0a\include\richedit.h(494) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
1>c:\program files\microsoft sdks\windows\v6.0a\include\richedit.h(495) : error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner 'dwEffects'
1>c:\program files\microsoft sdks\windows\v6.0a\include\richedit.h(495) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
1>c:\program files\microsoft sdks\windows\v6.0a\include\richedit.h(495) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
1>c:\program files\microsoft sdks\windows\v6.0a\include\richedit.h(496) : error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner 'yHeight'
1>c:\program files\microsoft sdks\windows\v6.0a\include\richedit.h(496) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
1>c:\program files\microsoft sdks\windows\v6.0a\include\richedit.h(496) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
1>c:\program files\microsoft sdks\windows\v6.0a\include\richedit.h(497) : error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner 'yOffset'
1>c:\program files\microsoft sdks\windows\v6.0a\include\richedit.h(497) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
1>c:\program files\microsoft sdks\windows\v6.0a\include\richedit.h(497) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
1>c:\program files\microsoft sdks\windows\v6.0a\include\richedit.h(498) : error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner 'crTextColor'
1>c:\program files\microsoft sdks\windows\v6.0a\include\richedit.h(498) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
1>c:\program files\microsoft sdks\windows\v6.0a\include\richedit.h(498) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
1>c:\program files\microsoft sdks\windows\v6.0a\include\richedit.h(499) : error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner 'bCharSet'
1>c:\program files\microsoft sdks\windows\v6.0a\include\richedit.h(499) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
1>c:\program files\microsoft sdks\windows\v6.0a\include\richedit.h(499) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
1>c:\program files\microsoft sdks\windows\v6.0a\include\richedit.h(500) : error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner 'bPitchAndFamily'
1>c:\program files\microsoft sdks\windows\v6.0a\include\richedit.h(500) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
1>c:\program files\microsoft sdks\windows\v6.0a\include\richedit.h(500) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
1>c:\program files\microsoft sdks\windows\v6.0a\include\richedit.h(501) : error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner 'szFaceName'
1>c:\program files\microsoft sdks\windows\v6.0a\include\richedit.h(501) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
1>c:\program files\microsoft sdks\windows\v6.0a\include\richedit.h(501) : error C2065: 'LF_FACESIZE': nichtdeklarierter Bezeichner
1>c:\program files\microsoft sdks\windows\v6.0a\include\richedit.h(501) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
1>c:\program files\microsoft sdks\windows\v6.0a\include\richedit.h(520) : error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner 'wWeight'
1>c:\program files\microsoft sdks\windows\v6.0a\include\richedit.h(520) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
1>c:\program files\microsoft sdks\windows\v6.0a\include\richedit.h(520) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
1>c:\program files\microsoft sdks\windows\v6.0a\include\richedit.h(521) : error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner 'sSpacing'
1>c:\program files\microsoft sdks\windows\v6.0a\include\richedit.h(521) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
1>c:\program files\microsoft sdks\windows\v6.0a\include\richedit.h(521) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
1>c:\program files\microsoft sdks\windows\v6.0a\include\richedit.h(522) : error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner 'crBackColor'
1>c:\program files\microsoft sdks\windows\v6.0a\include\richedit.h(522) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
1>c:\program files\microsoft sdks\windows\v6.0a\include\richedit.h(522) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
1>c:\program files\microsoft sdks\windows\v6.0a\include\richedit.h(523) : error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner 'lcid'
1>c:\program files\microsoft sdks\windows\v6.0a\include\richedit.h(523) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
1>c:\program files\microsoft sdks\windows\v6.0a\include\richedit.h(523) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
1>c:\program files\microsoft sdks\windows\v6.0a\include\richedit.h(524) : error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner 'dwReserved'
1>c:\program files\microsoft sdks\windows\v6.0a\include\richedit.h(524) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
1>c:\program files\microsoft sdks\windows\v6.0a\include\richedit.h(524) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
1>c:\program files\microsoft sdks\windows\v6.0a\include\richedit.h(525) : error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner 'sStyle'
1>c:\program files\microsoft sdks\windows\v6.0a\include\richedit.h(525) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
1>c:\program files\microsoft sdks\windows\v6.0a\include\richedit.h(525) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
1>c:\program files\microsoft sdks\windows\v6.0a\include\richedit.h(526) : error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner 'wKerning'
1>c:\program files\microsoft sdks\windows\v6.0a\include\richedit.h(526) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
1>c:\program files\microsoft sdks\windows\v6.0a\include\richedit.h(526) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
1>c:\program files\microsoft sdks\windows\v6.0a\include\richedit.h(527) : error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner 'bUnderlineType'
1>c:\program files\microsoft sdks\windows\v6.0a\include\richedit.h(527) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
1>c:\program files\microsoft sdks\windows\v6.0a\include\richedit.h(527) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
1>c:\program files\microsoft sdks\windows\v6.0a\include\richedit.h(528) : error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner 'bAnimation'
1>c:\program files\microsoft sdks\windows\v6.0a\include\richedit.h(528) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
1>c:\program files\microsoft sdks\windows\v6.0a\include\richedit.h(528) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
1>c:\program files\microsoft sdks\windows\v6.0a\include\richedit.h(529) : error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner 'bRevAuthor'
1>c:\program files\microsoft sdks\windows\v6.0a\include\richedit.h(529) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
1>c:\program files\microsoft sdks\windows\v6.0a\include\richedit.h(529) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
1>c:\program files\microsoft sdks\windows\v6.0a\include\richedit.h(534) : error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner 'wWeight'
1>c:\program files\microsoft sdks\windows\v6.0a\include\richedit.h(534) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
1>c:\program files\microsoft sdks\windows\v6.0a\include\richedit.h(534) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
1>c:\program files\microsoft sdks\windows\v6.0a\include\richedit.h(535) : error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner 'sSpacing'
1>c:\program files\microsoft sdks\windows\v6.0a\include\richedit.h(535) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
1>c:\program files\microsoft sdks\windows\v6.0a\include\richedit.h(535) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
1>c:\program files\microsoft sdks\windows\v6.0a\include\richedit.h(536) : error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner 'crBackColor'
1>c:\program files\microsoft sdks\windows\v6.0a\include\richedit.h(536) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
1>c:\program files\microsoft sdks\windows\v6.0a\include\richedit.h(536) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
1>c:\program files\microsoft sdks\windows\v6.0a\include\richedit.h(537) : error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner 'lcid'
1>c:\program files\microsoft sdks\windows\v6.0a\include\richedit.h(537) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
1>c:\program files\microsoft sdks\windows\v6.0a\include\richedit.h(537) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
1>c:\program files\microsoft sdks\windows\v6.0a\include\richedit.h(538) : error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner 'dwReserved'
1>c:\program files\microsoft sdks\windows\v6.0a\include\richedit.h(538) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
1>c:\program files\microsoft sdks\windows\v6.0a\include\richedit.h(538) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
1>c:\program files\microsoft sdks\windows\v6.0a\include\richedit.h(539) : error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner 'sStyle'
1>c:\program files\microsoft sdks\windows\v6.0a\include\richedit.h(539) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
1>c:\program files\microsoft sdks\windows\v6.0a\include\richedit.h(539) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
1>c:\program files\microsoft sdks\windows\v6.0a\include\richedit.h(540) : error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner 'wKerning'
1>c:\program files\microsoft sdks\windows\v6.0a\include\richedit.h(540) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
1>c:\program files\microsoft sdks\windows\v6.0a\include\richedit.h(540) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
1>c:\program files\microsoft sdks\windows\v6.0a\include\richedit.h(541) : error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner 'bUnderlineType'
1>c:\program files\microsoft sdks\windows\v6.0a\include\richedit.h(541) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
1>c:\program files\microsoft sdks\windows\v6.0a\include\richedit.h(541) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
1>c:\program files\microsoft sdks\windows\v6.0a\include\richedit.h(542) : error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner 'bAnimation'
1>c:\program files\microsoft sdks\windows\v6.0a\include\richedit.h(542) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
1>c:\program files\microsoft sdks\windows\v6.0a\include\richedit.h(542) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
1>c:\program files\microsoft sdks\windows\v6.0a\include\richedit.h(543) : error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner 'bRevAuthor'
1>c:\program files\microsoft sdks\windows\v6.0a\include\richedit.h(543) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
1>c:\program files\microsoft sdks\windows\v6.0a\include\richedit.h(543) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
1>c:\program files\microsoft sdks\windows\v6.0a\include\richedit.h(729) : error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner 'cpMin'
1>c:\program files\microsoft sdks\windows\v6.0a\include\richedit.h(729) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
1>c:\program files\microsoft sdks\windows\v6.0a\include\richedit.h(729) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
1>c:\program files\microsoft sdks\windows\v6.0a\include\richedit.h(730) : error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner 'cpMax'
1>c:\program files\microsoft sdks\windows\v6.0a\include\richedit.h(730) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
1>c:\program files\microsoft sdks\windows\v6.0a\include\richedit.h(730) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
1>c:\program files\microsoft sdks\windows\v6.0a\include\richedit.h(736) : error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner 'lpstrText'
1>c:\program files\microsoft sdks\windows\v6.0a\include\richedit.h(736) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
1>c:\program files\microsoft sdks\windows\v6.0a\include\richedit.h(736) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
1>c:\program files\microsoft sdks\windows\v6.0a\include\richedit.h(742) : error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner 'lpstrText'
1>c:\program files\microsoft sdks\windows\v6.0a\include\richedit.h(742) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
1>c:\program files\microsoft sdks\windows\v6.0a\include\richedit.h(742) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
1>c:\program files\microsoft sdks\windows\v6.0a\include\richedit.h(755) : error C2065: 'CALLBACK': nichtdeklarierter Bezeichner
1>c:\program files\microsoft sdks\windows\v6.0a\include\richedit.h(755) : error C2065: 'EDITSTREAMCALLBACK': nichtdeklarierter Bezeichner
1>c:\program files\microsoft sdks\windows\v6.0a\include\richedit.h(755) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
1>c:\program files\microsoft sdks\windows\v6.0a\include\richedit.h(755) : fatal error C1903: Weiterverarbeitung nach vorherigem Fehler nicht möglich; Kompilierung wird abgebrochen.


Irgendwie hat der Compiler ein problem mit der textbox ^^
_________________
Besucht meine Seite:
www.cpparchiv.dl.am
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
PeaceKiller
JLI Master


Alter: 35
Anmeldedatum: 28.11.2002
Beiträge: 970

Medaillen: Keine

BeitragVerfasst am: 18.02.2008, 14:11    Titel: Antworten mit Zitat

RebornX hat Folgendes geschrieben:

Hmm naja ^^ wenn ich das so mache:
statusfeld.h
statusfeld.cpp

Dann kommt da der Fehler:
Code:
1>c:\program files\microsoft sdks\windows\v6.0a\include\richedit.h(307) : error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner 'cb'


Das hört sich stark nach einem vergessenen ; nach einer Klassendefinition an, damit solltest du aber länger schon Fehler haben. In welchen Dateien inkludierst du den noch statusfeld.h bzw. richedit.h?
_________________
»If the automobile had followed the same development cycle as the computer, a Rolls-Royce would today cost $100, get a million miles per gallon, and explode once a year, killing everyone inside.«
– Robert X. Cringely, InfoWorld magazine
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
RebornX
JLI'ler



Anmeldedatum: 16.03.2007
Beiträge: 169

Medaillen: Keine

BeitragVerfasst am: 18.02.2008, 14:14    Titel: Antworten mit Zitat

PeaceKiller hat Folgendes geschrieben:
inkludierst du den noch statusfeld.h bzw. richedit.h?


nur in Direct3D.h .

Aber die richedit.h ist doch eine bereits vom compiler bereitgestellte header-datei ??
soll ich jetzt da gucken ob da die semikolons fehlen oder was?

edit:// da fehlen keine Semikolons^^
_________________
Besucht meine Seite:
www.cpparchiv.dl.am
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Deviloper
Junior JLI'ler



Anmeldedatum: 31.05.2006
Beiträge: 77

Medaillen: Keine

BeitragVerfasst am: 18.02.2008, 14:20    Titel: Antworten mit Zitat

CPP:
::HWND CreateStatusWindow(::HINSTANCE const& hInstance)
{
   ::WNDCLASSEX wcex = { 0 };
    wcex.size = sizeof(WNDCLASSEX);
   wcex.lpfnWndProc = &DefWindowProc;
   wcex.hInstance = hInstance;
   wcex.hIcon = ::LoadIcon(NULL, MAKEINTRESOURCE(IDI_WINLOGO));
   wcex.hCursor = ::LoadCursor(NULL, MAKEINTRESOURCE(IRC_ARROW));
   wcex.hbrBackground = reinterpret_cast<::HBRUSH>(::GetStockObject(WHITE_BRUSH));
   wcex.lpszClassName = TEXT("StatusWindow");
   wcex.hIconSm = wcex.hIcon;

   if (RegisterClassEx(&wcex) != 0) return NULL;

   const HWND hWnd(::CreateWindowEx(NULL, TEXT("StatusWindow"), TEXT("Status"), WS_OVERLAPPEDWINDOW | WS_VISIBLE,
                            500, 500, 600, 300, NULL, NULL, hInstance, NULL);

   if (hWnd == NULL) return NULL;

   ::LoadLibrary(TEXT("Riched32.dll"));

   const HWND hWndEdit(::CreateWindowEx(WS_EX_CLIENTEDGE, RICHEDIT_CLASS , TEXT(""), ES_AUTOVSCROLL | ES_MULTILINE |
                               ES_READONLY | WS_VISIBLE | WS_VSCROLL | WS_CHILD | WS_BORDER | WS_TABSTOP, 0, 0,
                               600, 300, hWnd, reinterpret_cast<::HMENU>(IDC_RE_CONTENT), hInstance, NULL));
       
   if (hWndEdit != NULL)
      ::SendMessage(hWndEdit, WM_SETFONT, reinterpret_cast<WPARAM>(::GetStockObject(DEFAULT_GUI_FONT)), TRUE);

    return hWndEdit;
}
einmal aufgeräumt ... du musst beachten, das VC++2005 > alle UNICODE als Default nutzen und demnach auch TEXT bzw. _T-Makro nutzen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
RebornX
JLI'ler



Anmeldedatum: 16.03.2007
Beiträge: 169

Medaillen: Keine

BeitragVerfasst am: 18.02.2008, 14:23    Titel: Antworten mit Zitat

Deviloper hat Folgendes geschrieben:
einmal aufgeräumt ... du musst beachten, das VC++2005 > alle UNICODE als Default nutzen und demnach auch TEXT bzw. _T-Makro nutzen!


Ehm ich habe auf Multi-byte eingestellt^^
_________________
Besucht meine Seite:
www.cpparchiv.dl.am
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Jonathan_Klein
Living Legend


Alter: 37
Anmeldedatum: 17.02.2003
Beiträge: 3433
Wohnort: Siegerland
Medaillen: Keine

BeitragVerfasst am: 18.02.2008, 14:32    Titel: Antworten mit Zitat

Nur mal so ein ganz bescheidener Hinweis: Ich benutze immer die Standardkonsole für Debugausgaben. Ich benutze Codeblocks und weiß daher nicht, wo man das in VC einstellen muss, aber es ist sehr praktisch (man kann damit z.B. auch ohne viel Schnickschnack schnell mal eine Eingabe einlesen).
_________________
https://jonathank.de/games/
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
DirectXer
Dark JLI'ler



Anmeldedatum: 05.02.2005
Beiträge: 1201
Wohnort: Köln
Medaillen: Keine

BeitragVerfasst am: 18.02.2008, 15:35    Titel: Antworten mit Zitat

ist der fehler behoben? wenn nicht ändere mal die Include-Reihenfolge: Erst alle Windows-Header (da oft extern "C" Deklarationen enthalten sind), dann alle STL-Header und zuletzt deine eigenen Header. Die Tatsache, dass deine Fehler erst in richedit.h und nicht schon in fstream auftreten, weist stark darauf hin.

@Otscho: Wenn du schon konsequent den globalen Namespace voranstellst, solltest du auch RegisterWindowEx nicht außenvorlassen. Wie fühlt man sich denn als globale Funktion, wenn man als einziges keinen doppelten Doppelpunkt bekommt? Razz Razz

Gruß DXer
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
RebornX
JLI'ler



Anmeldedatum: 16.03.2007
Beiträge: 169

Medaillen: Keine

BeitragVerfasst am: 18.02.2008, 16:30    Titel: Antworten mit Zitat

DirectXer hat Folgendes geschrieben:
ist der fehler behoben? wenn nicht ändere mal die Include-Reihenfolge: Erst alle Windows-Header (da oft extern "C" Deklarationen enthalten sind), dann alle STL-Header und zuletzt deine eigenen Header. Die Tatsache, dass deine Fehler erst in richedit.h und nicht schon in fstream auftreten, weist stark darauf hin.


Hmm ne klappt auch nicht ^^ Habe grade alle möglichen positionen versucht ... doch es kommt immer die gleiche fehlermeldung ^^
_________________
Besucht meine Seite:
www.cpparchiv.dl.am
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
PeaceKiller
JLI Master


Alter: 35
Anmeldedatum: 28.11.2002
Beiträge: 970

Medaillen: Keine

BeitragVerfasst am: 18.02.2008, 16:58    Titel: Antworten mit Zitat

Ausversehen das SDK editiert?
_________________
»If the automobile had followed the same development cycle as the computer, a Rolls-Royce would today cost $100, get a million miles per gallon, and explode once a year, killing everyone inside.«
– Robert X. Cringely, InfoWorld magazine
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
RebornX
JLI'ler



Anmeldedatum: 16.03.2007
Beiträge: 169

Medaillen: Keine

BeitragVerfasst am: 18.02.2008, 17:04    Titel: Antworten mit Zitat

PeaceKiller hat Folgendes geschrieben:
Ausversehen das SDK editiert?

Ne eigentlich nicht ^^
_________________
Besucht meine Seite:
www.cpparchiv.dl.am
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
RebornX
JLI'ler



Anmeldedatum: 16.03.2007
Beiträge: 169

Medaillen: Keine

BeitragVerfasst am: 19.02.2008, 20:44    Titel: Antworten mit Zitat

Weiß niemand eine Lösung ?
_________________
Besucht meine Seite:
www.cpparchiv.dl.am
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
User_User
JLI'ler



Anmeldedatum: 05.08.2004
Beiträge: 137

Medaillen: Keine

BeitragVerfasst am: 20.02.2008, 07:25    Titel: Antworten mit Zitat

Kannst du die Quellcodedatei posten, in welcher der Aufruf von CreateStatusWindow() enthalten ist?

Ist dir klar, dass du durch die include-Anweisung von "statusfeld.h" in die Datei Direct3D.cpp eine globale Variable hStatus erzeugst? Wo wird diese Variable initialisiert?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Fragen, Antworten und Kritik Alle Zeiten sind GMT
Gehe zu Seite 1, 2  Weiter
Seite 1 von 2

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB.de

Impressum