Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

SHGetPathFromIDList problem

[es] :: C/C++ programiranje :: SHGetPathFromIDList problem

[ Pregleda: 1707 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

stargazer
bgd

Član broj: 85916
Poruke: 117
*.eunet.yu.



Profil

icon SHGetPathFromIDList problem24.02.2006. u 12:41 - pre 221 meseci
pozdrav ljudi, ovo mi je prvi post, pa ako neko može da mi pomogne

Radim PlatformSDK projekat u MSVS 2005 okruženju

Pri obradi poruke BN_CLICKED poziva se moja funkcija GetDirectory ( i nšta drugo se ne radi u okviru nje ) u kojoj treba da pozove SHBrowseForFolder i onda da parsuje pidl ( LPITEMIDLIST ) sa SHGetPathFromIDList. Evo kod :

BOOL GetDirectory(LPCTSTR prethodni)
{
BROWSEINFO bi;
LPITEMIDLIST pidl;
char szBase[MAX_PATH];
char * izabrano = NULL;

if (!prethodni || !(*prethodni))
GetCurrentDirectory(MAX_PATH, szBase);
else
lstrcpy(szBase, prethodni);

bi.hwndOwner = hGlavniProzor;
bi.pidlRoot = NULL; // Desktop
bi.pszDisplayName = izabrano;
bi.lpszTitle = "Izabrati direktorijum :";
bi.ulFlags = BIF_RETURNONLYFSDIRS | BIF_NEWDIALOGSTYLE;
bi.lpfn = &BFFProc;
bi.lParam = (LPARAM)szBase;
bi.iImage = 0;

pidl = SHBrowseForFolder(&bi);

if (pidl)
{
if (SHGetPathFromIDList(pidl, izabrano)) // ovde prijavi Access violation
{
lpMalloc->Free(pidl);
SendMessage(hPutanjaEdit, WM_SETTEXT, 0, (LPARAM)izabrano);
return TRUE;
}
}

return FALSE;
}

Naravno u WinMain sam inicirao lpMalloc globalnu sa SHGetMalloc ( hPutanjaEdit je handle EDIT kontrole ). BFFProc je Hook koji samo menja izabrani dir u dialogu :

int CALLBACK BFFProc(HWND hWnd, UINT Msg, LPARAM lParam, LPARAM lpData)
{
if (Msg == BFFM_INITIALIZED)
SendMessage(hWnd, BFFM_SETSELECTION, TRUE, lpData);

return 0;

UNREFERENCED_PARAMETER(lParam);
}

Sve kontrole nalaze se na istom prozoru ( hGlavniProzor ).

Da li neko može da mi kaže o čemu se radi?

Nadam se da sam bio dovoljno precizan u vezi pitanja i
Hvala unapred!

With no lovin' in our souls and no money in our coats you can't say we're satisfied
 
Odgovor na temu

stargazer
bgd

Član broj: 85916
Poruke: 117
*.eunet.yu.



Profil

icon Re: SHGetPathFromIDList problem27.02.2006. u 15:05 - pre 221 meseci
E ljudi, hvala na pregledanju, ali kada je neko idiot, onda mu nema pomoći.

Rešio sam problem...
With no lovin' in our souls and no money in our coats you can't say we're satisfied
 
Odgovor na temu

idb
Ivan Bulic
Beograd

Član broj: 4436
Poruke: 402



Profil

icon Re: SHGetPathFromIDList problem27.02.2006. u 15:15 - pre 221 meseci
Hajde podeli resenj sa nama,...
Ali ako pogledas svoj predhodni post ti nisi ni postavio pitanje - samo si izlozi kod koji ti pravi problem.
Na kraju je samo trebalo i konkretno pitanje ...
 
Odgovor na temu

stargazer
bgd

Član broj: 85916
Poruke: 117
*.eunet.yu.



Profil

icon Re: SHGetPathFromIDList problem27.02.2006. u 18:25 - pre 221 meseci
Pitanje se nalazi u kodu ( linija u kojoj se koristi SHGetPathFromIDList ) da mi prijavljuje Access Violation pri upotrebi iste.

Elem, MSDN Online je prava stvar za onog ko radi MSVS ili sl.

Rešenje :
Potrebno je pozvati OleInitialize() pre poziva problematične funkcije.
Ali morala je promenljiva izabrano da se stavi kao :
char izabrano[MAX_PATH];

To mu to dođe........

PS : Ako ti nije jasno pitanje, zašto tražiš odgovor?????
With no lovin' in our souls and no money in our coats you can't say we're satisfied
 
Odgovor na temu

idb
Ivan Bulic
Beograd

Član broj: 4436
Poruke: 402



Profil

icon Re: SHGetPathFromIDList problem28.02.2006. u 08:47 - pre 221 meseci
Citat:
PS : Ako ti nije jasno pitanje, zašto tražiš odgovor?????

Problem si na neki nacin dobro opisao, sto je OK i potrebno, ali je falilo samo jos i konkretno pitanje.
Da si postavio pitanje ja bih procitao i tvoj kod i uputio te ovde:
http://www.elitesecurity.org/tema/58373/0#373386 , nisi ti prvi koji je imao ovaj problem.
BTW, ja sam dva puta procitao tvoj prvi post (ali samo tekst) - trazeci problem, a tek sada i sam procitao i kod.

Zasto trazim odgovor?
Ako ovde iznosis problem i trazis pomoc, onda je u redu da i ti pruzis pomoc drugima, mozda jos neko ima taj problem.

I jedan savet: stavi kod izmedju code tagova da bi bio citljiviji, ovako se teze cita pa ga mnogi i ne pogledaju.
Pozdrav idb.
 
Odgovor na temu

[es] :: C/C++ programiranje :: SHGetPathFromIDList problem

[ Pregleda: 1707 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.