[DUG] Dll issue
Robert martin
rob at wildsoft.co.nz
Wed Jul 18 14:33:04 NZST 2007
Thanks Rohit
Trapping the exception in the dll and trying to show the message also
fails (the app still disappears). But a good suggestion (Should have
tried that 'much' earlier.
Rob Martin
Software Engineer
phone +64 03 377 0495
fax +64 03 377 0496
web www.chreos.com
Wild Software Ltd
Rohit Gupta wrote:
> I dont know about widestrings, but ansistrings can be a problem with
> dlls. Also note that if written in Delphi you have to handle all
> exceptions inside the dll.... as the exception itself uses ansistring.
>
> Robert martin wrote:
>> Hi again
>>
>> Further to my previous email I want to check that I have this right.
>> I think I am doing something wrong in relation to passing variables.
>>
>> My dll Call is defined as
>>
>> TRunEFTPOS = Function(var Amount, CardType, ResCode: WideString;
>> Account, MercRef, TransRef, HeaderLine, FooterLine : WideString) :
>> Boolean;
>>
>> Note is users var parameters.
>>
>>
>> This is my test calling code
>>
>> var
>> RunIt : TRunEFTPOS;
>> EFTPOSHandle : THandle;
>> ARes : WideString;
>> CardType : WideString;
>> iRes : Integer;
>> Amt : Extended;
>> TestAmt : WideString;
>> Authorised : Boolean;
>> begin
>> inherited;
>> //RUN DLL
>>
>> CardType := '';
>> Amt := 10.95;
>> TestAmt := FloatToStr(Amt);
>>
>> EFTPOSHandle := LoadLibrary('EftPos.dll');
>> if (EFTPOSHandle <> 0) then begin
>> try
>> @RunIt := GetProcAddress(EFTPOSHandle, 'RunIt');
>>
>> if (@RunIt <> nil) then begin
>> Authorised := RunIt(TestAmt, CardType, ARes, '1', '1',
>> '12345' , 'Test eftpos', 'Test');
>> iRes := StrToIntDef(ARes, -1);
>>
>> if (Authorised = True) then begin
>>
>> ShowMessage(TestAmt);
>> end;
>> end;
>> finally
>> FreeLibrary(EFTPOSHandle);
>> end;
>> end;
>>
>>
>>
>>
>> Could passing var parameters be the root cause of my problem? (This
>> Dll was working fine previously)
>>
>> Also the calling app has Sharemem in the uses clause but the dll does
>> not. Adding it to the dll causes an av 'after' running the dll in
>> the test app, the main app still dies at the start.
>>
>> Any comments would be appreciated.
>>
>>
>>
>>
>> Rob Martin
>> Software Engineer
>>
>> phone +64 03 377 0495
>> fax +64 03 377 0496
>> web www.chreos.com
>>
>> Wild Software Ltd
>>
>>
>>
>> Robert martin wrote:
>>> Hi
>>>
>>> I have been using a (home made) DLL to interface between our app and
>>> an eftpos systems ActiveX control. All worked well until we updated
>>> their software. Now my app blows away when I try to create the
>>> ActiveX (in the dll). However after much testing I have discovered
>>> if I call the dll from behind a TAdvGlowButton (fancy glowing
>>> button) it works ! but I get an error in GDIPlus.dll after the first
>>> time.
>>>
>>> It seems to be some sort of issue between the dlls being used
>>> (GDIPlus.dll and eftpos.Dll
>>>
>>> Any ideas ?
>>>
>>>
>> _______________________________________________
>> NZ Borland Developers Group - Delphi mailing list
>> Post: delphi at delphi.org.nz
>> Admin: http://delphi.org.nz/mailman/listinfo/delphi
>> Unsubscribe: send an email to delphi-request at delphi.org.nz with
>> Subject: unsubscribe
>>
>>
>
> --
> *Rohit Gupta*
> * B.E. Elec. M.E. Mem IEEE Associate IEE*
> *Technical Manager*
> *Computer Fanatics Limited*
> **
> *Tel* +64 9 4892280
> *Fax* +64 9 4892290
> *Email *rohit at cfl.co.nz <mailto:rohit at cfl.co.nz>**
> *Web *www.cfl.co.nz <http://www.cfl.co.nz/>
>
> ------------------------------------------------------------------------
> This email and any attachments contain information, which is
> confidential and may be subject to legal privilege and copyright. If
> you are not the intended recipient, you must not use, distribute or
> copy this email or attachments. If you have received this in error,
> please notify us immediately by return email and then delete this
> email and any attachments.
> ------------------------------------------------------------------------
>
> _______________________________________________
> NZ Borland Developers Group - Delphi mailing list
> Post: delphi at delphi.org.nz
> Admin: http://delphi.org.nz/mailman/listinfo/delphi
> Unsubscribe: send an email to delphi-request at delphi.org.nz with Subject: unsubscribe
More information about the Delphi
mailing list