Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Hallo - ich komme mal wider nicht weiter. icon11.gif

Ich habe ein Projekt (DLL), und darin habe ich einen Funktionspointer, dessen funktion erst später aus einer weiteren DLL extrahiert wird.

Also habe ich mir gedacht, damit alle Klassen (mit jeweils eigener H und CPP) diese Funktion nutzen können, lege ich mir einen Static FunctionPointer an.

typedef unsigned short (*FTWINRTE_STATE_TYP)(unsigned short);

static FTWINRTE_STATE_TYP FTWINRTE_State;

Den diesen Code beinhaltenden Header includiere ich überall, wo ich die Funktion benötige. In DllMain "lade" ich mit GetProcAddress die Funktion:
HMODULE hRCUDLL = LoadLibrary("FTRCU32");

FTWINRTE_State = (FTWINRTE_STATE_TYP)GetProcAddress(hRCUDLL, "FTWINRTE_State");

Allerdings kann ich nur in dem Scope der CPP, in der ich "geladen" habe, diese Funktion auch nutzen. In allen anderen CPPs verweist der Funktionspointer weiterhin auf NULL.

Frage: Ich dachte, static kümmert sich darum, daß ich diese Adresse überall nutzen kann - was habe ich nicht beachtet?

Soll ich das Problem genauer beschreiben?

Geschrieben

Hallo,

Das ist genau die Eigenschaft von "static", der Scope einer static-Deklaration ist local bzgl. der Datei in der sie verwendet wird (aus dem Grund ist der Pointer auch in allen anderen Deiner Objektdateien ein Null-Pointer, da Du pro Datei einen eigenen Pointer hast). Das Problem kannst Du umgehen, in dem Du den Pointer nicht als static deklarierst (in den anderen Dateien solltest Du dann ein "extern ..." verwenden).

Nic

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...