Twoje PC  
Zarejestruj się na Twoje PC
TwojePC.pl | PC | Komputery, nowe technologie, recenzje, testy
B O A R D
   » Board
 » Zadaj pytanie
 » Archiwum
 » Szukaj
 » Stylizacja

 
M E N U
  0
 » Nowości
0
 » Archiwum
0
 » Recenzje / Testy
0
 » Board
0
 » Rejestracja
0
0
 
Szukaj @ TwojePC
 

w Newsach i na Boardzie
 
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.

 
ccc
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.

  1. 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"

    1. czyli trzeba odpowiednio zrzutować? , Zajkos 9/06/03 10:45
      124

      1. 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"

        1. 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ą .

  2. 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