Eric J.
APPLETON, WI
Jul 14, 2025
5
Posts
Re: DLL Parameters: passing by reference
Does anyone have an example that demonstrates a call to a dll with function of this type where ATEasy needs to provide a pointer to wchar_t?
dll header:
typedef wchar_t WideChar;
extern "C" {
Word __cdecl getResponse( WideChar * cpResponse)
};
This is to the Cirris Tester Access (CTA) dll. I can't seem to get an ATEasy variable type to satisfy what Cirris is looking for to return data from various dll calls. I've attached the CTA manual, and will follow up with a header.
I have an open incident, but we're not quite there yet. Any help is appreciated.
Eric
File Attachment:
CTA User Manual 2024.4.2.pdf
Eli G.
Appleton, WI
Jul 14, 2025
3
Posts
Re: DLL Parameters: passing by reference
Hello,
I tried doing this...
Temp="MyCaption"
bsMyCaption=Temp
Temp="MyMesssage"
bsMyMesssage=Temp
iTimeoutInMilliseconds=0
aw: Word[10000]
wStatus=CTA.CirrisTesterAccess.ctaDisplayMessage(wConnectionID, bsMyCaption, bsMyMesssage, False, iTimeoutInMilliseconds, iResponseLength, aw)
print wStatus; " = CTA.CirrisTesterAccess.ctaDisplayMessage(wConnectionID, bsMyCaption, bsMyMesssage, False, iTimeoutInMilliseconds, iResponseLength, bsResponse)"
...but it was telling me undefined symbol 'Word' so I defined Response as a "Word" within the "Variables" section of the program and tried this...
wStatus=CTA.CirrisTesterAccess.ctaDisplayMessage(wConnectionID, bsMyCaption, bsMyMesssage, False, iTimeoutInMilliseconds, iResponseLength, Response)
...which compiles and runs, but the function throws error code 1: buffer size too small. The passed message was "hello"
File Attachment:
ateasy.png
Eli G.
Appleton, WI
Jul 14, 2025
3
Posts
Re: DLL Parameters: passing by reference
Hello,
I tried doing this...
Temp="MyCaption"
bsMyCaption=Temp
Temp="MyMesssage"
bsMyMesssage=Temp
iTimeoutInMilliseconds=0
aw: Word[10000]
wStatus=CTA.CirrisTesterAccess.ctaDisplayMessage(wConnectionID, bsMyCaption, bsMyMesssage, False, iTimeoutInMilliseconds, iResponseLength, aw)
print wStatus; " = CTA.CirrisTesterAccess.ctaDisplayMessage(wConnectionID, bsMyCaption, bsMyMesssage, False, iTimeoutInMilliseconds, iResponseLength, bsResponse)"
...but it was telling me undefined symbol 'Word' so I defined Response as a "Word" within the "Variables" section of the program and tried this...
wStatus=CTA.CirrisTesterAccess.ctaDisplayMessage(wConnectionID, bsMyCaption, bsMyMesssage, False, iTimeoutInMilliseconds, iResponseLength, Response)
...which compiles and runs, but the function throws error code 1: buffer size too small. The passed message was "hello"
File Attachment:
ateasy.png