Exportieren Sie ein globales Symbol aus einer Delphi-DLL

Ich versuche, eine Gecko 2.0-kompatible DLL in Delphi zu erstellen.

Vorher (vor Gecko 2.0) musste die DLL eine NSGetModule () -Funktion exportieren. Das hat einwandfrei funktioniert.

Beim Start mit Firefox 4 wird meine DLL geladen (ich habe dies durch einen Haltepunkt in meinem Initialisierungsabschnitt überprüft), aber meine NSGetModule () -Funktion wird nicht mehr aufgerufen. Dies ist das geplante Verhalten, da ab Gecko 2.0 (Firefox 4) eine Binärkomponente keine NSGetModule () -Funktion exportieren soll:

https: //developer.mozilla.org/en/XPCOM/XPCOM_changes_in_Gecko_2.0#Binary_component

Gemäß diesen Dokumenten muss meine DLL ein NSModule-Datensymbol exportieren, das auf eine Struktur zeigt. In der Delphi-Terminologie gehe ich davon aus, dass dies eine globale Variable ist, die auf einen Delphi-Datensatz verweist.

In C ++ exportieren Sie das (globale) Datensymbol folgendermaßen:

define NSMODULE_DEFN(_name) extern "C" NS_EXPORT mozilla::Module const *const NSModule

Meine Frage: Wie mache ich das in Delphi? Wie exportiere ich eine globale Variable?

Ich freue mich über Ihr Feedback.

Antworten auf die Frage(10)

Ihre Antwort auf die Frage