OCX - Control : Umsetzung VB6

26/03/2008 - 13:56 von tom knauf | Report spam
Moin, moin

ich stehe bei folgendem Problem auf dem Schlauch, trotz google und
newsgroupsuche :

wir haben ein OCX zur Ansteuerung eines Lesegeràtes.

Das Beispiel (von 2004 in VB6) sieht so aus :

Dim data(512) As Byte
..
if Reader1.getdata(VarPtr(data(0)), &H26, 0, False) > 0 Then
Intellisense : getdata(lpdata as number, iflag as number, ia as number, bf
as Logical)

ich habe versucht, das in Fox wie folgt nachzubilden :

a) cResult = Space(512)
if Reader1.getdata(@cresult, 0x26, 0, 0) > 0
Fehlermeldung : Typkonflikt

b)Dim anresult[512]
for nSchl =1 to 512 - acresult[nschl]=0
if Reader1.getdata(@acresult, 0x26, 0, 0) > 0
Fehlermeldung : Typkonflikt

c)Dim anresult[512]
for nSchl =1 to 512 - acresult[nschl]=0
if Reader1.getdata(acresult, 0x26, 0, 0) > 0
Fehlermeldung : OCX beschàdigt


Hat jemand einen Tip ?


Vielen Dank und verschneite Grüße aus Hamburg
Tom
 

Lesen sie die antworten

#1 Martin Bauer
26/03/2008 - 14:29 | Warnen spam
a) cResult = Space(512)
if Reader1.getdata(@cresult, 0x26, 0, 0) > 0
Fehlermeldung : Typkonflikt

b)Dim anresult[512]
for nSchl =1 to 512 - acresult[nschl]=0
if Reader1.getdata(@acresult, 0x26, 0, 0) > 0
Fehlermeldung : Typkonflikt

c)Dim anresult[512]
for nSchl =1 to 512 - acresult[nschl]=0
if Reader1.getdata(acresult, 0x26, 0, 0) > 0
Fehlermeldung : OCX beschàdigt



kommt mir irgendwie bekannt vor ;)


Dim xpos(1 To 2) As Double
Dim ypos(1 To 2) As Double

xpos(1) = 8

xpos(2) = 9

ypos(1) = 50

ypos(2) = 51

Call MapControl1.DeclareMap24("id", 2, xpos(1), ypos(1), ...)

Das Interface erwartet einen "Zeiger" (Referenz) auf das 1. Element. Die

folgenden Element liegen im Speicher dann direkt dahinter. Die Anzahl

der Elemente wird durch den size Parameter festgelegt.





Nach langem hin und her wurde ein Wrapper OCX in C++ gebaut was die
Parameter VFP-verdaulich entgegen nimmt und "umwandelt".

Ähnliche fragen