Miten saisi selvitettyä ohjelman sijaintihakemiston?
Ongelmana on se, ettei ohjelmani tällä hetkellä tajua klikkaamalla ajettaessa missä se on, jolloin kuvan lataaminen ei onnistu. Konsolista ajettaessa ohjelma tietää missä on, joten minulta kesti jonkun aikaa tajuta missä vika oli. Kun kokeilin ladata kuvan kokopolulla ("/home/koti/ohjelma/kuva.bmp"), niin se (yllätys, yllätys) toimi molemmilla tavoilla. En kuitenkaan voi käskeä kaikkia asentamaan ohjelmaa juuri samaan paikkaan, joten tuo polku pitäisi jotenkin hakea.
Linuxissa polun saa selville komentamalla locate kuva.bmp.
BinReloc on luotu tätä asiaa varten:
Siis se polku pitäisi saada selville siinä ohjelman sisällä:
PALETTE paletti; BITMAP *palak; string kuvas = "/home/koti/ohjelma/"; //tähän tilalle se haettu polku kuvas += "kuva.bmp"; palak = load_bitmap(kuvas.c_str(),paletti);
Tuolleen se siis toimii klikkaamalla, mutta vain jos ohjelma ja kuva on /home/koti/ohjelma/ hakemistossa. Kuva on ohjelman grafiikkaa, eli se on aina samassa kansiossa ohjelman kanssa.
*Tattista Aruviel, tuota minä tarkoitin.
Aihe on jo aika vanha, joten et voi enää vastata siihen.