Hallo zusammen,
ich habe hier scheinbar ein seltenes Problem des späten Bindens und finde keine Lösung, um es unter Option Strict On zu beheben.
Vielleicht kurz vorab zur Erklärung: Es wird versucht über einen OPC-DA-Server mehrere Worte (1 Wort = Int16) einer SPS (Speicherprogrammierbare Steuerung) auszulesen.
Dazu wird eine Lesetabelle als "Dim objDaten(0) As Object" deklariert.
Anschließend wird eine Funktion einer DLL aufgerufen, an welche die Lesetabelle per "ByRef" übergeben wird.
Zurück bekomme ich die gefüllte Lesetabelle und versuche die Daten beispielsweise mit
auszulesen. Logischerweise unterstreicht er mir das "objDaten(0)(0)" und meckert wegen spätem Binden.
Mit
kann die DLL nicht arbeiten.
Ich hatte auch noch versucht einen weiteren Array mit Dim Lesetabelle() as Short anzulegen.
Bei
kommt dann aber: "Der Wert des Typs Object() kann nicht in Typ Short() konvertiert werden, da Object nicht von Short abgeleitet ist."
Kann mir bitte jemand sagen wo mein Denkfehler liegt?
ich habe hier scheinbar ein seltenes Problem des späten Bindens und finde keine Lösung, um es unter Option Strict On zu beheben.
Vielleicht kurz vorab zur Erklärung: Es wird versucht über einen OPC-DA-Server mehrere Worte (1 Wort = Int16) einer SPS (Speicherprogrammierbare Steuerung) auszulesen.
Dazu wird eine Lesetabelle als "Dim objDaten(0) As Object" deklariert.
Anschließend wird eine Funktion einer DLL aufgerufen, an welche die Lesetabelle per "ByRef" übergeben wird.
Zurück bekomme ich die gefüllte Lesetabelle und versuche die Daten beispielsweise mit
auszulesen. Logischerweise unterstreicht er mir das "objDaten(0)(0)" und meckert wegen spätem Binden.
Mit
kann die DLL nicht arbeiten.
Ich hatte auch noch versucht einen weiteren Array mit Dim Lesetabelle() as Short anzulegen.
Bei
kommt dann aber: "Der Wert des Typs Object() kann nicht in Typ Short() konvertiert werden, da Object nicht von Short abgeleitet ist."
Kann mir bitte jemand sagen wo mein Denkfehler liegt?