NAcitani obrazku pomoci SDLimage a parametr vysky a sirky – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

NAcitani obrazku pomoci SDLimage a parametr vysky a sirky – C / C++ – Fórum – Programujte.comNAcitani obrazku pomoci SDLimage a parametr vysky a sirky – C / C++ – Fórum – Programujte.com

 

yaqwsx+9
Posthunter
19. 10. 2007   #1
-
0
-

MAm problem:Mam f-ci na nacteni obrazku:

SDL_Surface *LoadImage(const char *filename, bool alpha)

{
SDL_Surface *tmp;// Pomocny
SDL_Surface *ret;// Bude vracen

if((tmp = IMG_Load(filename)) == NULL)// Prilinkovat SDL_image
{
fprintf(stderr, "%s\n", SDL_GetError());
return NULL;
}

if((ret = (alpha) ? SDL_DisplayFormatAlpha(tmp)
: SDL_DisplayFormat(tmp)) == NULL)
{
fprintf(stderr, "%s\n", SDL_GetError());
SDL_FreeSurface(tmp);
return NULL;
}

SDL_FreeSurface(tmp);// Uz neni potreba

return ret;
}


A funkci na vykresleni na urcitou pozici:
void DrawImage(SDL_Surface* zdroj, SDL_Surface* cil,int x,int y, bool obnov = true)

{
;
//Priprava pozice
SDL_Rect rect;
rect.x = (cil->w >> 1) - (zdroj->w >> 1);
rect.y = (cil->h >> 1) - (zdroj->h >> 1);


//Vykresleni
SDL_BlitSurface(zdroj, NULL, cil, &rect);
//Obnoveni
if(obnov == true)
SDL_UpdateRect(cil, NULL, NULL, NULL, NULL);
}


Vse jde zkompilovat,jenze pri spusteni mi VS vyhodi chybu(ale pokud to spoustim normalne pres pruzkumnika,tak to funguje jak ma,takze hodnota tam asi bude.....) ,ze nelze cist z adresy a ukaze mi radek rect.x = (cil->w >> 1) - (zdroj->w >> 1); Uz jsem zjistil,ze to dela ten argument,kteremu davam surface nacteny vyse uvedenou f-ci.Nebo pokud chci uzamknout surface nacteny pomoci te f-ce f-ci
//Zamknuti

bool Lock(SDL_Surface *surface)
{
if(SDL_MUSTLOCK(surface))
{
if(SDL_LockSurface(surface) < 0)
{
return false;
}
}

return true;
}

//Odemknuti
void Unlock(SDL_Surface *surface)
{
if(SDL_MUSTLOCK(surface))
{
SDL_UnlockSurface(surface);
}
}
,tak se to chova uplne stejne.

NEtusite v cem mam chybu?

Nahlásit jako SPAM
IP: ...–
Life is too short to remove USB mass storage safely...
Správný drsňák udělá z konzole cokoliv
survik1
~ Moderátor
0
Posthunter
19. 10. 2007   #2
-
0
-

(cil->w >> 1) - (zdroj->w >> 1);

Co má dělat tohle?
objekt cil -> jeho šířka - zdroj -> šířka

a ten parametr >> 1 dělá...?

Nahlásit jako SPAM
IP: ...–
Život je jen hra, která se nedá vyhrát.
yaqwsx+9
Posthunter
19. 10. 2007   #3
-
0
-

To survik1:NO to je binarni posun. x >> 1 ma vyznam jako x/2

Nahlásit jako SPAM
IP: ...–
Life is too short to remove USB mass storage safely...
Správný drsňák udělá z konzole cokoliv
yaqwsx+9
Posthunter
20. 10. 2007   #4
-
0
-

skusil jsem se poohlednout i po jinem zpusobu nacitani,bohuzel ten samy problem.....

Nahlásit jako SPAM
IP: ...–
Life is too short to remove USB mass storage safely...
Správný drsňák udělá z konzole cokoliv
yaqwsx+9
Posthunter
21. 10. 2007   #5
-
0
-

No tak tu jeste davam obrazek te chby,je to hned po tom co se to zkompiluje a jak chci vykreslit obrazek
http://img210.imageshack.us/img210/1593/errws4.png

Nahlásit jako SPAM
IP: ...–
Life is too short to remove USB mass storage safely...
Správný drsňák udělá z konzole cokoliv
Jura
~ Anonymní uživatel
637 příspěvků
21. 10. 2007   #6
-
0
-

Spouštět teď VS a dělat v něm projekt nehodlám,ale zkoušel jsi to aspoň assertovat? Zda není cíl NULL? atd..

Nahlásit jako SPAM
IP: ...–
yaqwsx+9
Posthunter
21. 10. 2007   #7
-
0
-

JJ,skousel.Vsak pokud spustim pres windowsy(jako uz zkompilovanou aplikaci),tak to funguje jak ma.Proto se ptam,jestli nekdo nevi,co VS "vadi"
EDIT:A nebo nevite jak se da tady tato kontrola pri behu(neba aspon urcite chyby) vypnout?

Nahlásit jako SPAM
IP: ...–
Life is too short to remove USB mass storage safely...
Správný drsňák udělá z konzole cokoliv
yaqwsx+9
Posthunter
23. 10. 2007   #8
-
0
-

TAk jsem skousel a skousel a dospel jsem k tomu,ze kdyz mam projekt:
main.cpp

#include <SDL.h>

#include <fstream>
#include <SDL_image.h>
#include <SDL_ttf.h>
#include <iostream>
#include "LoadImage.h"
#include "DrawImage.h"

#pragma comment(lib, "SDL.lib")
#pragma comment(lib, "SDLmain.lib")
#pragma comment(lib, "SDL_image.lib")

using namespace std;

//Surface
SDL_Surface* pozadi;
SDL_Surface* obrazek;
//Streamy
fstream chyba("error.err");
//Okno
SDL_Surface* okno;
int x, y;




bool ProcessEvent()
{
SDL_Event event;

while(SDL_PollEvent(&event))
{
switch(event.type)
{
case SDL_KEYDOWN:
switch(event.key.keysym.sym)
{
case SDLK_ESCAPE:
return false;
break;

default:
break;
}
break;

case SDL_QUIT:
return false;
break;

default:
break;
}
}

return true;
}




int main(int argc, char *argv[])
{
if(SDL_Init(SDL_INIT_EVERYTHING) == -1)
{
chyba << "Unable to initialize SDL: %s\n" << SDL_GetError();
return 1;
}

//inicializace
okno = SDL_SetVideoMode(800, 600, 32, SDL_HWSURFACE);
//NAstavení popisku
SDL_WM_SetCaption("ProjecTetris", NULL);
//Nacteni obrazku
pozadi = LoadImage("poz.bmp", false);
obrazek = LoadImage("flower.png", false);


bool done = false;
while(!done)
{
// TODO: Tady by se vykreslovalo

DrawImage(obrazek, okno, x,y);
}

// Deinicializace a konec
SDL_Quit();


return 0;
}


DrawImage.h
#include <SDL.h>

#include <fstream>
#include <SDL_image.h>
#include <SDL_ttf.h>
#include <iostream>

#pragma comment(lib, "SDL.lib")
#pragma comment(lib, "SDLmain.lib")
#pragma comment(lib, "SDL_image.lib")



void DrawImage(SDL_Surface* zdroj, SDL_Surface* cil, int x, int y, bool obnov = true);


DrawImage.cpp
#include <SDL.h>

#include <fstream>
#include <SDL_image.h>
#include <SDL_ttf.h>
#include <iostream>

#pragma comment(lib, "SDL.lib")
#pragma comment(lib, "SDLmain.lib")
#pragma comment(lib, "SDL_image.lib")

using namespace std;

void DrawImage(SDL_Surface* zdroj, SDL_Surface* cil, int x, int y, bool obnov = true)
{
SDL_Rect rect;


rect.x = x - (zdroj->w >> 1);
rect.y = y - (zdroj->h >> 1);

SDL_BlitSurface(zdroj, NULL, cil, &rect);
if(obnov == true)
SDL_UpdateRect(cil, rect.x, rect.y, rect.w, rect.h);
}


LoadImage.h

#include <SDL.h>

#include <fstream>
#include <SDL_image.h>
#include <SDL_ttf.h>
#include <iostream>

#pragma comment(lib, "SDL.lib")
#pragma comment(lib, "SDLmain.lib")
#pragma comment(lib, "SDL_image.lib")


SDL_Surface *LoadImage(const char *filename, bool alpha);


LoadImage.cpp

#include <SDL.h>

#include <fstream>
#include <SDL_image.h>
#include <SDL_ttf.h>
#include <iostream>

#pragma comment(lib, "SDL.lib")
#pragma comment(lib, "SDLmain.lib")
#pragma comment(lib, "SDL_image.lib")

using namespace std;

SDL_Surface *LoadImage(const char *filename, bool alpha)
{
SDL_Surface *tmp;// Pomocny
SDL_Surface *ret;// Bude vracen
cout << filename << " VYtvoreny surface" << endl;


if((tmp = IMG_Load(filename)) == NULL)// Prilinkovat SDL_image
{
fprintf(stderr, "%s\n", SDL_GetError());
return NULL;
}
cout << " NActeno" << endl;
if((ret = (alpha) ? SDL_DisplayFormatAlpha(tmp)
: SDL_DisplayFormat(tmp)) == NULL)
{
fprintf(stderr, "%s\n", SDL_GetError());
SDL_FreeSurface(tmp);
return NULL;
}

SDL_FreeSurface(tmp);// Uz neni potreba
cout << " Uspesne" << endl;
return ret;
}




Tak v nem mi ta funkce nefunguje,ale napriklad priklad z http://i.iinfo.cz/urs-att/sdl_05_a-111097807818858.html ta to mi VS zkompiluje a spusti bezproblemu............

Nahlásit jako SPAM
IP: 85.160.81.–
Life is too short to remove USB mass storage safely...
Správný drsňák udělá z konzole cokoliv
yaqwsx+9
Posthunter
27. 10. 2007   #9
-
0
-

Ted se mi uplne stejne chova i funkce na vykresleni textu,jen s tim rozdilem,ze mi program spusteny bez kontroly VS spadne.

void DrawFont(TTF_Font* font, int r, int g, int b, int a, const char* text, SDL_Surface* kam, int x, int y, bool obnov = true)

{
SDL_Color col = { r, g, b, a };
SDL_Color bg = { 0, 0, 255, 0 };
SDL_Rect rct;
rct.x = x;
rct.y = y;
cout << "VYtvoreni text2";
SDL_Surface* text2;

text2 = TTF_RenderText_Shaded(font, text, col, bg);
SDL_SetColorKey(text2, SDL_SRCCOLORKEY, SDL_MapRGB(text2->format, 0, 0, 255));
//Vykresleni
SDL_BlitSurface(text2, NULL, kam, &rct);
if(obnov == true)
SDL_UpdateRect(kam, rct.x, rct.y, rct.w, rct.h);
}

Nahlásit jako SPAM
IP: 85.160.78.–
Life is too short to remove USB mass storage safely...
Správný drsňák udělá z konzole cokoliv
tmi0
Věrný člen
27. 10. 2007   #10
-
0
-

neni nahodou VS projekt od microsoftu? to mluvi za vse) to by ses stejne dobre mohl ptat proc windows padaji...
jestli ti to normalne 'pres pruzkumnika' spustis a z VS ne tak by podle me mel byt bug spis ve VS nez v te aplikaci. podopbne programy v SDL jsem psal v Code::Blocks a v Dev-Cpp a nikdy se mi takovahle chyba nestala...

Nahlásit jako SPAM
IP: 89.185.230.–
ksp.mff.cuni.cz -- doporučuje 5 z 0 přetečených bufferů!
Phoenix0
Super člen
27. 10. 2007   #11
-
0
-

tmi napsal:
neni nahodou VS projekt od microsoftu? to mluvi za vse) to by ses stejne dobre mohl ptat proc windows padaji...


hmm takový lidi miluju... "je ten program od MS?...tak to je šmejd" jasně že ty máš "cool" linux a nedáš na něj dopustit, ale to neznamená že programy od MS jsou špatný. Chtěl bych vidět c++ profíka kterej programuje v dev-cpp (neřikám že to není možný ale VS je určitě uživatelsky komfortnější).
všecky programy od MS nemusim (IE) ale jinak jsem šťastným majitelem windows a nestěžuju si.

Nahlásit jako SPAM
IP: 85.70.88.–
tmi0
Věrný člen
27. 10. 2007   #12
-
0
-

tak ja sem reagoval predevsim na to za spousti-li ten program skrz VS tak mu nefunguje, pritom normalne se jevi funkcnim. zbytek prispevku sem myslel spis jako vtipek, ne kazdej program od microsoftu musi byt uplne spatnej... jenom se mi obecne nelibi prinicipem fungovani. ale kdyz jsme u toho, i linux ma svoje "musky"... a profik v c++ nepotrebuje IDE.

Nahlásit jako SPAM
IP: 89.185.230.–
ksp.mff.cuni.cz -- doporučuje 5 z 0 přetečených bufferů!
yaqwsx+9
Posthunter
27. 10. 2007   #13
-
0
-

NO tak ta vykreslovaci f-ce normalne funguje,ale ta na vypsani textu uz ani pres pruzkumnika nefunguje.....

JInak prispeji do OT:VS je uzivatelsky mnohem komfortnejsi a kompiluje tak 1,5x rychleji-to je ten hlavni duvad proc ho pouzivam

Nahlásit jako SPAM
IP: 85.160.115.–
Life is too short to remove USB mass storage safely...
Správný drsňák udělá z konzole cokoliv
Jura
~ Anonymní uživatel
637 příspěvků
27. 10. 2007   #14
-
0
-

To yaqwsx :
Máš nainstalován SP1 na VS?

Nahlásit jako SPAM
IP: 85.207.192.–
tmi0
Věrný člen
27. 10. 2007   #15
-
0
-

jojo... to byly casy kdyz microsof visual c++ stal 5.000 kc... pak se objevilo "kewl" visual studio kery je zadarmo... lide se v nem nauci, a za 10 let uz nebudou umet v nicem jinym delat (protoze microsoft bude prihazovat spousty udelatek kerejma se bude snazit odlisit se od standardnich metod... nerikam ze ty udelatka budou spatny ale budou jiny, coz vede k izolaci a neadaptabilite a nekompatibilite) a pak microsoft rekne ze VS uz neni free ale jen za 10.000... nebo rekne ze se nesmi pouzivat na komercni projekty ci neco takovyho...

mozna vam prijde moje vize apokalypticka ale verte tomu ze manazerum microsoftu nejde o to aby par kluciku (to nemyslim hanlive) mohlo psat aplikace typu "hello world" (ani to nemyslim hanlive, pouha metafora)... tem jde o to vytriskat ze vseho tezky prachy. to muzete videt na pristupu microsoftu ke komeric obecne... vsechno zmonopolizovat. samozrejme to delaji vsechny firmy (az na open source bandy linuxaru, ale ty sou zas rekl bych celkem chudy takze tudy cesta taky nevede). proto nemam rad veskery RAD IDE typu VS atd. protoze vetsinou za ty vsechny vymozenosti ktery nepochybne efektivni bejt muzou byva treba neco dat: pokud chcete zadarmo qt-cko nebo turbo-c++, nesmite sirit nic komercne... proto si myslim ze je nejlepsi napsat si vlastni knihovnu s ruznejma widgetama (coz zas tak tezky a narocny neni: napsat si vlastni Button je otazka minut, a koneckoncu udelate to jen jednou a pak to muzete sami prodavat) a tu pak vyuzivat. kdyz nekdo umi programovat, umi programovat ve vsem (ted si trochu protirecim s tou vizi o VS na zacatku prispevku, ale jde prave o to umet se adaptovat na cokoli a nezabrednout k tomu co se kratkodobe jevi jako nejlepsi... to ale taky neznamena aby jste psali v tom nejhorsim) )

Nahlásit jako SPAM
IP: 89.185.230.–
ksp.mff.cuni.cz -- doporučuje 5 z 0 přetečených bufferů!
yaqwsx+9
Posthunter
28. 10. 2007   #16
-
0
-

To Jura : Tak jsem skusil nainstaovat bohuzel stale nic.Kdyz dam jeste otestovat zdali to nevraci nulu

if(TTF_RenderText_Shaded(font, text, col, bg) != NULL)

,tak mi pri behu vyskoci chyba

First-chance exception at 0x6f4c237b in SDLpokus.exe: 0xC0000005: Access violation reading location 0x00000000.



Nahlásit jako SPAM
IP: 85.160.88.–
Life is too short to remove USB mass storage safely...
Správný drsňák udělá z konzole cokoliv
tmi0
Věrný člen
28. 10. 2007   #17
-
0
-

adresa 0x00000000 odpovida nulovymu, tedy spatne inicializovanymu pointeru. a zkousel si to odkrokovat? to je pri chybach v pristupu k pameti nejuzitecnejsi, vydis presne kterym mistem je ten segfault vyvolan

Nahlásit jako SPAM
IP: 89.185.230.–
ksp.mff.cuni.cz -- doporučuje 5 z 0 přetečených bufferů!
yaqwsx+9
Posthunter
28. 10. 2007   #18
-
0
-

To tmi : No nejsem si uplne jist jak myslis odkrokovat,mohl bys mi to pls trochu objasnit?

Nahlásit jako SPAM
IP: 85.160.88.–
Life is too short to remove USB mass storage safely...
Správný drsňák udělá z konzole cokoliv
tmi0
Věrný člen
28. 10. 2007   #19
-
0
-

debugging (jestli v tom VSku). das si kurzor na posledni misto o kterym URCITE vis ze neni chybne (nejlepe hned za radek int main() :)) a spustis Debugging -> Run to cursor. Program se ti spusti az do toho mista kde mas kurzor a pak ceka. Ty muzes pomoci Debugging->Step into vzdy nechat program vykonat prave jeden radek kodu, a muzes dynamicky sledovat hodnoty vsechn promennych. A jakmile by nastala chyba, debugger ti ukaze presne radek kde ta chyba nastala (ale program neshodi, aby ses mohl jeste podivat na hodnoty promennych). debugger je super vecicka (az na to ze mi v Dev-cpp a Code::Blocks trochu blbne, jak je na tom VS fakt nevim... ale pokud ho nema... no radsi nebudu nic rikat), jeste bych byl oznacen za zaujateho)

Nahlásit jako SPAM
IP: 89.185.230.–
ksp.mff.cuni.cz -- doporučuje 5 z 0 přetečených bufferů!
yaqwsx+9
Posthunter
28. 10. 2007   #20
-
0
-

To tmi : Aha,tak VS mi samo pri behu vyhodi radek na kterem se mi neco nezda.Pri postupnym krokovani vse jde jak ma,jen mi VS nezobrazuje hodnoty zadneho surface(vsede otazniky) a taky mi uaze en samy radek

text2 = TTF_RenderText_Shaded(font, text, col, bg);

Nahlásit jako SPAM
IP: 85.160.88.–
Life is too short to remove USB mass storage safely...
Správný drsňák udělá z konzole cokoliv
tmi0
Věrný člen
28. 10. 2007   #21
-
0
-

omlouvam se necetl jsem prilis dukladne predchozi prispevky... a jakym zpusobem incializujete ten font? nejak jsem ve zdrojacich nezahledl prikaz font = TTF_OpenFont("\\xxx.ttf",FONT_SIZE); ktery by tam asi byt mel...
jinak nevim, obe barvy se zdaji byt inicializovane, predpokladam ze v const char* take chyba nebude (na takove blbosti jako jestli jste pri volani funkce neprohodil parametry se neptam) )...

dodatek: SDL_Color ma sice 4 atributy, ale 4ty je pojmenovan unused, takze bych rekl ze k nicemu neni). (ale mozna ho ta funkce pouziva, nevim. podle oficialni dokumentace se proste nepouziva).

dodatek2: o SDL celkem doporucuji stranku http://www.aaroncox.net/tutorials/, myslim ze popisuje primo praci s VS a SDL

Nahlásit jako SPAM
IP: 89.185.230.–
ksp.mff.cuni.cz -- doporučuje 5 z 0 přetečených bufferů!
yaqwsx+9
Posthunter
28. 10. 2007   #22
-
0
-

Tak na otevreni fontu mam f-ci,proto mam v argumentu TTF_Font.Ten 4 parametr je myslim alfa.Prametry jsem neprohodil...

Skusim jeste pohledat,ale moc si od toho neslibuju

Nahlásit jako SPAM
IP: 85.160.88.–
Life is too short to remove USB mass storage safely...
Správný drsňák udělá z konzole cokoliv
tmi0
Věrný člen
28. 10. 2007   #23
-
0
-

a jsi si jisty ze ti ten font ta funkce otevre?
spravne by mela vypadat takto:
void otevri_font(TTF_Font **font){
(*font) = TTF_OpenFont("\\xxx.ttf",FONT_SIZE);
}
skutecne je tam nutny ukazatel na ukazatel. ty mas totiz ukazatel na font, a v te funkci chces zmenit na co ten ukazatel ukazuje. pokud by si funkci predaval pouze ukazatel, tak by se jeho hodnota zkopirovala, ve funkci se zmenila a pak by zanikla: a font by stale nikam neukazoval
pokud ji predas jako parametr ukazatel na ukazatel, ve funkci menis primo adresu na ktere onen ukazatel (font) je, tedy kam bude ukazovat. v tomhle se chyba stava celkem casto, protoze uakzatel na ukazatel je takova netypicka vec. nektere lidi to mate a radeji udelaji ten font jako globalni promennou aby to nemuseli resit...

volani funkce by potom probihalo takto:
TTF_Font *font;
otevri_font(&font);
neco_napis(font,"blabla...", atd... );

Nahlásit jako SPAM
IP: 89.185.230.–
ksp.mff.cuni.cz -- doporučuje 5 z 0 přetečených bufferů!
yaqwsx+9
Posthunter
28. 10. 2007   #24
-
0
-

NO ukazatel na ukazatel tam mam(To se i ja sam divim,ze sem to tam dal).Globalni font jsem vyzkousel,ale nic se nezmenilo....

Nahlásit jako SPAM
IP: 85.160.88.–
Life is too short to remove USB mass storage safely...
Správný drsňák udělá z konzole cokoliv
Jura
~ Anonymní uživatel
637 příspěvků
28. 10. 2007   #25
-
0
-

To yaqwsx :
Zabal prosím celý projekt do zipu a přilož jej jako přílohu(jsem líný se s tím s**t). Zkusím to rozchodit, ale nic neslibuju, možná někdo jiný.

Nahlásit jako SPAM
IP: 85.207.192.–
yaqwsx+9
Posthunter
28. 10. 2007   #26
-
0
-

TAk to tu davam,a omlouvam se za neprehlednost,30% kodu danych komentaru atd...

Nahlásit jako SPAM
IP: 85.160.88.–
Life is too short to remove USB mass storage safely...
Správný drsňák udělá z konzole cokoliv
tmi0
Věrný člen
28. 10. 2007   #27
-
0
-

Tak fakt nevím... ptát se jestli na té adrese ten font skutečně máš je asi zbytečné
Nechce se mi to linkovat (neb nemám VS)... ten obrázek který se pokoušíš vykreslit před voláním fce DrawFont se nakreslí v pořádku?

Nahlásit jako SPAM
IP: 89.185.230.–
ksp.mff.cuni.cz -- doporučuje 5 z 0 přetečených bufferů!
yaqwsx+9
Posthunter
28. 10. 2007   #28
-
0
-

To tmi : Jo,no to jsem tam daval jen tak,jestli by to nepomohlo a nebo jesli ta funkce vubec neco vraci....

Nahlásit jako SPAM
IP: 85.160.88.–
Life is too short to remove USB mass storage safely...
Správný drsňák udělá z konzole cokoliv
tmi0
Věrný člen
28. 10. 2007   #29
-
0
-

Zkus tu aplikaci rozložit na několik malých dílčích a postupně je testovat. Třeba napsat jen program který jen otevře okno a něco do něj napíše, v tom se chyba hledá mnohem snáz než ve velkém projektu. Pak je postupně zvětšuj a spojuj a na tu chybu narazíš (nebo nenarazíš, ale všechno bude fungovat, i když ti bude připadat že jsi to psal úplně stějně: tomu se říká zákon sviňáctví)... sorry že ti nemůžu pomoci více, ale nikdy jsem s sdl_fonty problém neměl...

Nahlásit jako SPAM
IP: 89.185.230.–
ksp.mff.cuni.cz -- doporučuje 5 z 0 přetečených bufferů!
yaqwsx+9
Posthunter
28. 10. 2007   #30
-
0
-

To neva,a tady tento projekt jsem zacal psat taky pocastech.A problem nastal az pri vypisovani textu.Skusim tu f-ci napsat znovu,poripadne ji napsat primo,ne ve f-ci a pak ji predelat na f-ci.

Moc diky za vasi snahu.

Nahlásit jako SPAM
IP: 85.160.88.–
Life is too short to remove USB mass storage safely...
Správný drsňák udělá z konzole cokoliv
Jura
~ Anonymní uživatel
637 příspěvků
28. 10. 2007   #31
-
0
-

To yaqwsx :
Takže problém mám stejný, bohužel, teď to nemám čas řešit. Večer na to ještě kouknu a snad se něco povede vymyslet.

Nahlásit jako SPAM
IP: 85.207.192.–
yaqwsx+9
Posthunter
28. 10. 2007   #32
-
0
-

Tak jsem si to prosel jeste jednou a dukladneji a pricina je jasna -font ma adresu rovnou nule.Ale nevim proc,z nejakeho divneho duvodu uz mi to pres pruskumnika bezne jde spustit.Takze asi jeste zapatram ve VS

EDIT:Doplnuji,ze ta chyba je uz pri nacitani,ale domnivam se,ze VS spatne priradi tu adresu,protoze pres pruzkumnika ta apliace bezi bezproblemu

Nahlásit jako SPAM
IP: 85.160.88.–
Life is too short to remove USB mass storage safely...
Správný drsňák udělá z konzole cokoliv
tmi0
Věrný člen
28. 10. 2007   #33
-
0
-

A podívej se kdy má adresu rovnou nule: jestli to je i po pokus o nahrání fontu pomocí TTF_OpenFont("\\xxx.ttf",FONT_SIZE), nebo ve této funkci je ještě hodnota v pořádku a až ve funkci DrawText je chyba... zjištíš tím jestli je chyba už při načítání, nebo při předávání parametrů, nebo ve volání funkce...

Nahlásit jako SPAM
IP: 89.185.230.–
ksp.mff.cuni.cz -- doporučuje 5 z 0 přetečených bufferů!
Sony0
Návštěvník
28. 10. 2007   #34
-
0
-

todle mi visuálko taky dělá...podle mě je to protože to nebere ty soubory co načítáš (třeba obrázky fonty atd.) mělo by to jít zrušit když tam ty soubory namountuješ jako external dependencies...

Nahlásit jako SPAM
IP: 62.177.83.–
tmi0
Věrný člen
28. 10. 2007   #35
-
0
-

Jestli je to pravda ...tak to mě polij kakaovým jogurtem. A pak ať se ho někdo zastává...

Nahlásit jako SPAM
IP: 89.185.230.–
ksp.mff.cuni.cz -- doporučuje 5 z 0 přetečených bufferů!
yaqwsx+9
Posthunter
29. 10. 2007   #36
-
0
-

Aha,tak jsem patral cele odpoledne,ale tu volbu jsem nikde nenasel.......

Nahlásit jako SPAM
IP: 85.160.69.–
Life is too short to remove USB mass storage safely...
Správný drsňák udělá z konzole cokoliv
tmi0
Věrný člen
29. 10. 2007   #37
-
0
-

zkus si to zkompilovat pomoci g++ nebo MinGW (to je pro windows) a uvidis jestli je chyba skutecne ve VS

Nahlásit jako SPAM
IP: 89.185.230.–
ksp.mff.cuni.cz -- doporučuje 5 z 0 přetečených bufferů!
yaqwsx+9
Posthunter
29. 10. 2007   #38
-
0
-

Tak jsem skusil Dev C++,bohuzel mi porad vyhazuje chybu na radku 26 MAkeFile.win -bohuzel opravdu netusim co to je a k cemu slouzi(vypada jako nejakej log...)

26 D:\Dev-Cpp\Makefile.win [Build Error] *** multiple target patterns.  Stop. 

Nahlásit jako SPAM
IP: 85.160.69.–
Life is too short to remove USB mass storage safely...
Správný drsňák udělá z konzole cokoliv
tmi0
Věrný člen
29. 10. 2007   #39
-
0
-

a co presne si do toho Dev-C++ hodil? jen funkci pro cisty vykresleni textu na pozici? a slinkovals to s SDL? - s touhle chybou jsem se ale nikdy nesetkal, to jen tak strilim

Nahlásit jako SPAM
IP: 89.185.230.–
ksp.mff.cuni.cz -- doporučuje 5 z 0 přetečených bufferů!
yaqwsx+9
Posthunter
29. 10. 2007   #40
-
0
-

Tak vse jsem prilinkoval a dal jsem vytvorit project a pridal jsem do nej uplne vse.

Nahlásit jako SPAM
IP: 85.160.101.–
Life is too short to remove USB mass storage safely...
Správný drsňák udělá z konzole cokoliv
Zelenáč0
Posthunter
29. 10. 2007   #41
-
0
-

Neznamena to treba, ze tam mas nejakej *.o vicekrat?
Editoval Zelenáč: A nechces radsi pribalit celej Makefile?

Nahlásit jako SPAM
IP: 89.176.254.–
yaqwsx+9
Posthunter
29. 10. 2007   #42
-
0
-

Tak to tu davam

Nahlásit jako SPAM
IP: 85.160.101.–
Life is too short to remove USB mass storage safely...
Správný drsňák udělá z konzole cokoliv
Zelenáč0
Posthunter
29. 10. 2007   #43
-
0
-

Sakra, ja chtel Makefile a ne nejakej rar.. Jinak to vypada v pohode (az na to, ze nemas prilinkovane zadne knihovny.. )
Editoval Zelenáč: nevsiml jsem si tech pochybnejch #pragma...

Nahlásit jako SPAM
IP: 89.176.254.–
tmi0
Věrný člen
29. 10. 2007   #44
-
0
-

spustil sem to v Dev-C++, zmenil sem funkci IMG_Load na SDL_LoadBMP (o IMG_Load jsem neslysel, asi bude v knihovne SDL_image.h ze? protoze tu nemam tak sem ji neincludoval) a slo to zkompilovat v pohode. ovsem hned to spadlo... este na to mrknu

Nahlásit jako SPAM
IP: 89.185.230.–
ksp.mff.cuni.cz -- doporučuje 5 z 0 přetečených bufferů!
tmi0
Věrný člen
29. 10. 2007   #45
-
0
-

jo tak padalo mi to proto ze sem tam nemel ty obrazky... a LoadBMP bohuzel *.png soubory nebere... to uz sem vyresil ale stejne mi to hazi SegFault nevim proc a v Dev-c++ku mi zas blbne debugger... jo a ten tvuj chybovej vystup nefunguje: musis misto iostream #includovat fstream a chyba deklarovat jako ofstream

Nahlásit jako SPAM
IP: 89.185.230.–
ksp.mff.cuni.cz -- doporučuje 5 z 0 přetečených bufferů!
tmi0
Věrný člen
29. 10. 2007   #46
-
0
-

lol... ok moje druha chyba byla ze sem tam nemel ten font. ale pak uz mi to naprosto f pohode beha.... vykresli se text, obrazek... tak fakt nevim v cem mas problem... ale zdrojak to urcite neni).

Nahlásit jako SPAM
IP: 89.185.230.–
ksp.mff.cuni.cz -- doporučuje 5 z 0 přetečených bufferů!
yaqwsx+9
Posthunter
30. 10. 2007   #47
-
0
-

TAk netusim.Prozatim skusim patrat,a budu pokracovat.Snad na neco prijdu.

A nevi nekdo, zdali ve VS existuje nejakka volba external dependencies(popripadne kde se nachazi) ?

Nahlásit jako SPAM
IP: 85.160.94.–
Life is too short to remove USB mass storage safely...
Správný drsňák udělá z konzole cokoliv
yaqwsx+9
Posthunter
4. 12. 2007   #48
-
0
-

Ted jsem dlouho na tom nepokracoval, jenze jakmile jsem se na to podival a doplnil kontrolu, zad-li se vykreslovany text/suraface nerovna 0, zjistil jsem, ze mi program pada.Tak jsem hledal pricinu a dospel jsem k tomu, ze funkce IMG_Load mi vraci prazdny surface.....Naprosto netusim, v cem by mohla byt chyba....I odstraneni tech kontrol jsem zkusil Kod je naprosto stejny, jak vyse uvedeny
A kompilaci jsem zkousel ve VS2005,VS2008, i dev C++

Nahlásit jako SPAM
IP: 85.160.70.–
Life is too short to remove USB mass storage safely...
Správný drsňák udělá z konzole cokoliv
dadajax0
Newbie
4. 12. 2007   #49
-
0
-

Nechce se mi pročítat celou tuhle diskuzi, ale pokud ti jde program spustit z průzkumníka ve win, ale z VS ne, bude to nejspíš špatným umístěným obrázků nebo fontů které načítaš. Mi pomohlo to, že jsem překopíroval obrázky ze složky Debug a Release i do složky o úroveň více. Sice mi to udělalo celkem bordel v té složce ale šlo to bezchybně zpouštět i z VS.

Nahlásit jako SPAM
IP: 85.132.227.–
yaqwsx+9
Posthunter
5. 12. 2007   #50
-
0
-

To dadajax : No to uz jsem vyresil, mam problem, ze mi po spusteni program spadne z duvodu,ze funkce IMG_Load vraci neplatny ukazatel

Nahlásit jako SPAM
IP: 217.112.166.–
Life is too short to remove USB mass storage safely...
Správný drsňák udělá z konzole cokoliv
yaqwsx+9
Posthunter
8. 12. 2007   #51
-
0
-

Jsem uplne bezradny- i v jinem projektu mi to nefunguje.Skousel jsem ruzne verze SDL Image ,ale nic........

Nahlásit jako SPAM
IP: 85.160.69.–
Life is too short to remove USB mass storage safely...
Správný drsňák udělá z konzole cokoliv
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 6 hostů

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý