Externe Variablen Deklaration

Matthias_J

Grünschnabel
Hallo,

ich arbeite zur Zeit an einer DLL (geschrieben in VB) die Funktionen eines VBA Projektes beinhaltet um diese DLL zum Schutz des Codes später in das VBA Projekt einzubinden und die Funktionen daraus aufzurufen.

Ich stehe nun aber vor dem Problem das im VBA Projekt eine Variable als nicht-dimensioniertes Array deklariert wird. Auf dieses Array wird in einer der Funktionen die in die DLL gekommen sind zugegriffen. Leider ist es mir nun nicht mehr möglich die DLL zu kompilieren da der Debugger glaubt es handle sich bei dem Array um eine Funktion denn das Array wird ja nicht in der DLL sondern im VBA Code deklariert.

Kennt jemand eine Möglichkeit wie ich dem Debugger sagen kann das diese Variable (Das Array) von außerhalb kommt und er somit erkennt das es sich dabei nicht um eine Funktion handelt? In C++ könnte man ja eingeben das es sich um eine externe Variable handelt und diese dann nicht als nicht deklariert bemängelt wird. Kennt jemand eine Möglichkeit das auch in VB umzusetzen?

Danke

Matthias
 
Ich kann Dir nicht so ganz folgen, Matthias.

Wenn in Deinem VBA-Projekt ein Array definiert ist nach der Methode

Code:
Dim arrToFillFromDLL() As Long

dann sollte der VBA-Code damit auch keine Probleme haben. Wenn Du das Array erst noch mit Daten füllen willst, die Dir die DLL zurückgibt dann geht das über Pointer und CopyMemory.

Kannst Du mal den Code posten ?

Gruß,

Pascal
 
Sorry den Code kann ich euch leider nicht geben. Aber es ging darum das das Array in einem VBA Projekt Public deklariert wird. Ich arbeite grade an einer DLL in der dieses Array gefüllt wird aber die Deklaration innerhalb der DLL ist nicht zulässig.

Ich habe dieses Array jetzt mit Hilfe der Funktions-Parameter übergeben und er meckert nicht mehr. Ich hoffe das es dann später funktioniert.

Dennoch Danke für deine Hilfe.
 
Zurück