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

Visual C++ (mfc-dll)

[es] :: C/C++ programiranje :: Visual C++ (mfc-dll)

[ Pregleda: 2318 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

itf
Zagreb

Član broj: 59794
Poruke: 993
*.fsb.hr.



+9 Profil

icon Visual C++ (mfc-dll)04.07.2005. u 12:22 - pre 229 meseci
Evo mene opet sa DLL-om...

Kako napraviti DLL u Borland C++ Builderu koji sadrzi nekakav prozor (TForm) nije uopce problem:

Code:
extern "C" void __declspec(dllexport) __stdcall f(){
    TDLLProzor* novi = new TDLLProzor(NULL)
    novi->ShowModal();
    delete novi;
}


Ovom eksportabilnom funkcijom koja se nalazi u DLL-u ce se dinamicki alocirati taj prozor koji ce se pojaviti u vasoj aplikaciji. Medjutim, ovaj isti postupak ne radi kada kreiram DLL unutar Visual C++a. Uvijek mi izbaci neku gresku u svezi memorije...

Kako napraviti da unutar MFC DLL-a mogu nekom eksportabilnom funkcijom prikazati prozor koji se u njemu nalazi? Hvala


[Ovu poruku je menjao itf dana 04.07.2005. u 13:24 GMT+1]
 
Odgovor na temu

milanche
San Francisco

Član broj: 2447
Poruke: 1200
*.hsd1.ca.comcast.net.



+1001 Profil

icon Re: Visual C++ (mfc-dll)04.07.2005. u 21:28 - pre 229 meseci
Evo ti kratkog opisa procedure (imali smo pre par godina slicnu temu)

1) Prilikom kreiranja DLL-a moras da odaberes opciju MFC Extension DLL

2) Window klasa koju eksportujes mora da ima u definiciji makro AFX_EXT_CLASS,
na primer:
class AFX_EXT_CLASS CNekiProzor: public CDialog

3) Postoji problem sa resource ID-ima DLL-a i aplikacije koja koristi taj DLL - ako dodje
do poklapanja, tj. DLL sadrzi resource ID iste numericke vrednosti kao i aplikacija,
crash je neminovan. Resenje - svaki dizajner aplikacije mora da zna koje numericke
vrednosti tvoj DLL koristi, sto nije tesko saznati.

4) Release verzija aplikacije zahteva release verziju DLL-a, inace vrlo cesto (da ne
kazem 'uvek') puca.

Mnogo bolje resenje, koje zaobilazi sve ove sitne zezalice je da napravis ActiveX
kontrolu, koja ima i ugradjenu (dosta rudimentarno, ali ipak dovoljno) zastitu protiv
neovlascenog koriscenja. Zapravo, mozes da specificiras da li tvoja kontrola moze da
se koristi u tudjoj aplikaciji ili samo u tvojoj.
 
Odgovor na temu

itf
Zagreb

Član broj: 59794
Poruke: 993
*.fsb.hr.



+9 Profil

icon Re: Visual C++ (mfc-dll)05.07.2005. u 10:37 - pre 229 meseci
Hvala. Ovo radi, no cemu onda ovaj MFC DLL ako ga ne mogu iskoristiti? Preko njega nije moguce napraviti istu stvar?

[Ovu poruku je menjao itf dana 05.07.2005. u 11:38 GMT+1]
 
Odgovor na temu

[es] :: C/C++ programiranje :: Visual C++ (mfc-dll)

[ Pregleda: 2318 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

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