Jump to content

Recommended Posts

Posted

Hi together,

once in a while i have a problem where i won't get any further...

I do a DLL CallbackRegister and then the appropiate DllCall. The DLL i'am calling creates a structure. Then the DLL calls the CallbackRegister Funktion with a pointer to this structure as a parameter.

I now need to get the values of the structure. At the moment i do a memory read. But i get errors an some times the script fails badly. This is not a really clean way of programming.

I know the structure of the created structure but i can't create a structure in AutoIt an do some kind of DllStructSetPtr to the pointer which gives me the DLL so i could read the values with a simple DllStructGetData... (hope you understand :) ).

Has someone an idea how to get those strucutre values?

greetz from sunny germany

Sundance

PS: Bonn alaaf :)

Posted

Global Const $tagMyStruct = 'int X;int Y'

$tStruct = DllStructCreate($tagMyStruct)
DllStructSetData($tStruct, 'X', 10)
DllStructSetData($tStruct, 'Y', 40)
$pStruct = DllStructGetPtr($tStruct)

_Callback($pStruct)

Func _Callback($Ptr)
    Local $tData = DllStructCreate($tagMyStruct, $Ptr)
    ConsoleWrite(DllStructGetData($tData, 'X') & ' x ' & DllStructGetData($tData, 'Y') & @CR)
EndFunc   ;==>_Callback

Posted

OMG. I knew it was my fault. I totally missed the second parameter from DllStructCreate!! :)

I think this will solve my problem.

Many thanks Yashied :)

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...