Probelm mit SDL

Für Probleme bezüglich Grafik, Audio, GL, ACS, ...
Antworten
xnalpf
Beiträge: 43
Registriert: Di 4. Sep 2007, 15:43

Probelm mit SDL

Beitrag von xnalpf »

Hallo,
ich fange gerade mit Lazarus und SDL an und habe mir dazu die JEDI_SDL Units installiert. Dnach habe ich die Pfade in meiner fpc.conf angepasst und das erste Beispiel (SDLSpriteEngine/Demos/Oxygene) übersetzt. Und zwar erst mal auf der Konsole mit fpc -Sd Oxygene.dpr. Das Beispiel ließ sich auch problemlos compilieren und läuft. Gut dachte ich mir - dann mal ab in die IDE damit. Also Lazarus gestartet, das .dpr geöffnet, in eine Lazarus Applikation wandeln lassen und F9 gedrückt - tja, war leider nix. Es kam direkt ne Fehlermeldung und zwar bei dieser Zeile:

SDL_SetColorKey( Glass, SDL_SRCCOLORKEY or SDL_HWACCEL, SDL_MapRGB(
Glass.format, 255, 0, 255 ) );

Nachdem ich das dann so abgeändert habe:

SDL_SetColorKey( Glass, SDL_SRCCOLORKEY or SDL_HWACCEL, SDL_MapRGB(
Glass^.format, 255, 0, 255 ) );

ging es weiter bis zum nächsten (identischen) Fehler. Ich hab also vor alle SDL-Objekte ein ^ machen müssen. Danach läst sich das Programm auch in der IDE kompilieren - UND mit fpc. Was muss ich in lazarus einstellen, damit ich nicht überall ^ schreiben muss?

P.S. Glass : PSDL_Surface;

P.P.S. Ich nutze fpc und Lazarus unter Linux x86_64 - aber eigentlich kann es nur ein Compilerswitch oder sowas sein...

Und noch ein P.S. - Das hier ist die Fehlermeldung:

Oxygene.dpr(388,13) Error: Illegal qualifier
Oxygene.dpr(388,13) Hint: may be pointer dereference is missing
Oxygene.dpr(388,13) Fatal: Syntax error, ")" expected but "identifier FORMAT" found

xnalpf
Beiträge: 43
Registriert: Di 4. Sep 2007, 15:43

Re: Probelm mit SDL

Beitrag von xnalpf »

Schön, wenn man sich selber helfen kann. Da wird der schönste Thread zum Monolog. Hab das -Sd in die Compileroptions vom Projekt mit aufgenommen und schon gehts auch in der IDE. -Sd stellt den Delphi kompatibilitätsmodus an und da werden pointer bei Bedarf automatisch dereferenziert. Gut zu wissen...

Antworten