|
OBECNI NA TPC |
|
|
» NWN 05:07 » Shark20 02:49 » MARC 02:08 » RoBakk 01:51 » Rybeck 01:27 » Martens 01:06
Dzisiaj przeczytano 41134 postów, wczoraj 25974
Szybkie ładowanie jest: włączone.
|
|
|
|
|
|
TwojePC.pl © 2001 - 2024
|
|
A R C H I W A L N A W I A D O M O Ś Ć |
|
|
|
Jak skorzystać z funkcji w dynamicznym dll-u? (c++ builder) , Zajkos 9/06/03 10:31 Jak w tytule. Wiem, ze trzeba skorzystać z LoadLibrary. potem korzystam z GetProcAddress ale jak daję np.
FARPROC funkcja=GetProcAddress(coś tam,"Funkcja()");
funkcja(parametry);
to mi kompiltaor krzyczy , że za dużo parametrów.
Wiem, że chaotycznie napisałem, ale piszę z pamięci bo nie mam tu buildera.- moze to problem z wskaznikiem na funkcje? , bwana 9/06/03 10:44
zalozmy ze funkcja w bibliotece dll to fun(float , char b) i zwraca int. Wskaznik do takiej funkcji to:
int (*wskaznik)(float, char);
tak przynajmniej deklaruje sie wskazniki do funkcji w C++"you don't need your smile when I cut
your throat" - czyli trzeba odpowiednio zrzutować? , Zajkos 9/06/03 10:45
124- tak mi sie wlasnie wydaje , bwana 9/06/03 10:53
jest jedno ale - nazwa FARPROC sugeruje, ze jest to typ wskaznika "dalekiego" (kiedys to byl wskaznik typu segment:offset, ale chyba w builderze i pod windows to juz moze byc cos innego). W kazdym razie trzeba sie upewnic, ze wskaznik na funkcje bedzie tej samej klasy (czyli tez "far").
Ciekawe rezultaty daje tez np. http://www.google.pl/...nG=Szukaj+z+Google&lr="you don't need your smile when I cut
your throat" - Win32 używa płaskiego modelu pamieci , exmac 10/06/03 08:19
czyli pojęcia "near", "far" w ogóle tam nie występują .
- Tak , exmac 10/06/03 08:02
int (*zmienna)(float,char);
HANDLE uchwyt = LoadLibrary("nazwa.dll");
(FARPROC)zmienna = GetProcAddress(uchwyt,"ProceduraA");
zmienna(1.6,'a'); |
|
|
|
|
All rights reserved ® Copyright and Design 2001-2024, TwojePC.PL |
|
|
|
|