Modify

#3160 assigned Feature Request

Allow Null to specify NULL pointer for more DllCall() pointer types.

Reported by: Valik Owned by: Jon
Milestone: Component: AutoIt
Version: Severity: None
Keywords: Cc:

Description

I see that using the Null keyword with str and wstr parameters of DllCall() causes AutoIt to pass a NULL pointer. That's very useful. I'd like to see it extended to all pointer types. If I pass Null to a "DWORD*" it seems to treat it like I'm passing a pointer to a DWORD with value 0 as opposed to treating it as a NULL pointer. This behavior results in needing to write messy code like this:

Func FakeFunction($iParameter)
    Local $sParamType = "DWORD*"
    If $iParameter = Null Then $sParamType = "ptr"
    DllCall("fake.dll", "none", "FakeFunction", $sParamType, $iParameter)
EndFunc

FakeFunction(Null)

By allowing Null to specify a NULL pointer for all pointer types that code becomes:

Func FakeFunction($iParameter)
    DllCall("fake.dll", "none", "FakeFunction", "DWORD*", $iParameter)
EndFunc

FakeFunction(Null)

Much cleaner and easier to read and write.

Attachments (0)

Change History (2)

comment:1 by Jpm, on Oct 19, 2020 at 7:58:33 PM

Owner: set to Jpm
Status: newassigned

Fix sent to Jon

comment:2 by Jpm, on Mar 19, 2024 at 10:40:36 AM

Owner: changed from Jpm to Jon

Modify Ticket

Action
as assigned The owner will remain Jon.

Add Comment


E-mail address and name can be saved in the Preferences .
 
Note: See TracTickets for help on using tickets.