- Offizieller Beitrag
Hi,
ich habe das Problem mal auf folgende Funktion reduziert, in der der Fehler entsteht.
Ich erstelle eine Struktur und befülle diese mit Werten. Die Struktur selbst wird als Pointer in einer anderen Struktur abgespeichert, ebenso der Struktur--String. Die Überprüfumg innerhalb der Funktion ist erfolgreich. Jedoch liefert dieselbe Überprüfung mit der zurückgegebenen Struktur fehlerhafte Werte. Jemand eine Idee warum?
AutoIt
$tRet = _SomeFunc()
$tRetTime = DllStructCreate($tRet.tagTime, $tRet.Time)
For $i = 1 To 6
ConsoleWrite('Return ' & $i & ': ' & DllStructGetData($tRetTime, $i) & @CRLF)
Next
Func _SomeFunc()
Local $tagTime = 'char Year[4];char Month[2];char Day[2];char Hour[2];char Min[2];char Sec[2]'
Local $tTime = DllStructCreate($tagTime)
DllStructSetData($tTime, 'Year', @YEAR)
DllStructSetData($tTime, 'Month', @MON)
DllStructSetData($tTime, 'Day', @MDAY)
DllStructSetData($tTime, 'Hour', @HOUR)
DllStructSetData($tTime, 'Min', @MIN)
DllStructSetData($tTime, 'Sec', @SEC)
Local $t = DllStructCreate('struct;ptr Time;char tagTime[75];endstruct')
DllStructSetData($t, 'Time', DllStructGetPtr($tTime))
DllStructSetData($t, 'tagTime', $tagTime)
; prüfen ob Struktur gefüllt und auslesbar
Local $tCheck = DllStructCreate($t.tagTime, $t.Time)
For $i = 1 To 6
ConsoleWrite('Check Feld ' & $i & ': ' & DllStructGetData($tCheck, $i) & @CRLF)
Next
Return $t
EndFunc
Alles anzeigen