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: [email protected]
Admin: http://delphi.org.nz/mailman/listinfo/delphi
Unsubscribe: send an email to [EMAIL PROTECTED] 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  [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>**
*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: [email protected]
Admin: http://delphi.org.nz/mailman/listinfo/delphi
Unsubscribe: send an email to [EMAIL PROTECTED] with Subject: unsubscribe
_______________________________________________
NZ Borland Developers Group - Delphi mailing list
Post: [email protected]
Admin: http://delphi.org.nz/mailman/listinfo/delphi
Unsubscribe: send an email to [EMAIL PROTECTED] with Subject: unsubscribe

Reply via email to