<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
I dont know about widestrings, but ansistrings can be a problem with
dlls.&nbsp; Also note that if written in Delphi you have to handle all
exceptions inside the dll.... as the exception itself uses ansistring.<br>
<br>
Robert martin wrote:
<blockquote cite="mid:469D6DA7.9050602@wildsoft.co.nz" type="cite">Hi
again
  <br>
  <br>
Further to my previous email I want to check that I have this right.&nbsp; I
think I am doing something wrong in relation to passing variables.
  <br>
  <br>
My dll Call is defined as
  <br>
  <br>
&nbsp;TRunEFTPOS = Function(var Amount, CardType, ResCode: WideString;
Account, MercRef, TransRef, HeaderLine, FooterLine : WideString) :
Boolean;
  <br>
  <br>
Note is users var parameters.
  <br>
  <br>
  <br>
This is my test calling code
  <br>
  <br>
var
  <br>
&nbsp;&nbsp; RunIt&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : TRunEFTPOS;
  <br>
&nbsp;&nbsp; EFTPOSHandle&nbsp;&nbsp;&nbsp; : THandle;
  <br>
&nbsp;&nbsp; ARes&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : WideString;
  <br>
&nbsp;&nbsp; CardType&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : WideString;
  <br>
&nbsp;&nbsp; iRes&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : Integer;
  <br>
&nbsp;&nbsp; Amt&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : Extended;
  <br>
&nbsp;&nbsp; TestAmt&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : WideString;
  <br>
&nbsp;&nbsp; Authorised&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : Boolean;
  <br>
begin
  <br>
&nbsp;inherited;
  <br>
&nbsp;&nbsp; //RUN DLL
  <br>
  <br>
&nbsp;&nbsp; CardType := '';
  <br>
&nbsp;&nbsp; Amt :=&nbsp; 10.95;
  <br>
&nbsp;&nbsp; TestAmt := FloatToStr(Amt);
  <br>
  <br>
&nbsp;&nbsp; EFTPOSHandle := LoadLibrary('EftPos.dll');
  <br>
&nbsp;&nbsp; if (EFTPOSHandle &lt;&gt; 0) then begin
  <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; try
  <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; @RunIt := GetProcAddress(EFTPOSHandle, 'RunIt');
  <br>
  <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (@RunIt &lt;&gt; nil) then begin
  <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Authorised := RunIt(TestAmt, CardType, ARes, '1', '1',
'12345' , 'Test eftpos', 'Test');
  <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; iRes := StrToIntDef(ARes, -1);
  <br>
  <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (Authorised = True) then begin
  <br>
  <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ShowMessage(TestAmt);
  <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end;
  <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end;
  <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; finally
  <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; FreeLibrary(EFTPOSHandle);
  <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end;
  <br>
&nbsp;&nbsp; end;
  <br>
  <br>
  <br>
  <br>
  <br>
Could passing var parameters be the root cause of my problem?&nbsp; (This
Dll was working fine previously)
  <br>
  <br>
Also the calling app has Sharemem in the uses clause but the dll does
not.&nbsp; Adding it to the dll causes an av 'after' running the dll in the
test app, the main app still dies at the start.
  <br>
  <br>
Any comments would be appreciated.
  <br>
  <br>
  <br>
  <br>
  <br>
Rob Martin
  <br>
Software Engineer
  <br>
  <br>
phone +64 03 377 0495
  <br>
fax&nbsp;&nbsp; +64 03 377 0496
  <br>
web <a class="moz-txt-link-abbreviated" href="http://www.chreos.com">www.chreos.com</a>
  <br>
  <br>
Wild Software Ltd
  <br>
  <br>
  <br>
  <br>
Robert martin wrote:
  <br>
  <blockquote type="cite">Hi
    <br>
    <br>
I have been using a (home made) DLL to interface between our app and an
eftpos systems ActiveX control.&nbsp; All worked well until we updated their
software.&nbsp; Now my app blows away when I try to create the ActiveX (in
the dll).&nbsp; 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.
    <br>
    <br>
It seems to be some sort of issue between the dlls being used
(GDIPlus.dll and eftpos.Dll
    <br>
    <br>
Any ideas ?
    <br>
    <br>
    <br>
  </blockquote>
_______________________________________________
  <br>
NZ Borland Developers Group - Delphi mailing list
  <br>
Post: <a class="moz-txt-link-abbreviated" href="mailto:delphi@delphi.org.nz">delphi@delphi.org.nz</a>
  <br>
Admin: <a class="moz-txt-link-freetext" href="http://delphi.org.nz/mailman/listinfo/delphi">http://delphi.org.nz/mailman/listinfo/delphi</a>
  <br>
Unsubscribe: send an email to <a class="moz-txt-link-abbreviated" href="mailto:delphi-request@delphi.org.nz">delphi-request@delphi.org.nz</a> with
Subject: unsubscribe
  <br>
  <br>
  <br>
</blockquote>
<br>
<div class="moz-signature">-- <br>
<title>Signature</title>
<meta http-equiv="Content-Type" content="text/html; ">
<meta content="MSHTML 6.00.2900.2802" name="GENERATOR">
<div align="left">
<div align="left"><strong><font size="2"><font color="#666666"
 face="Verdana">Rohit Gupta</font></font></strong></div>
<div align="left"><strong><font size="2"><font color="#666666"
 face="Verdana">
B.E.&nbsp;Elec.&nbsp;&nbsp;&nbsp;M.E.&nbsp;&nbsp;&nbsp;Mem&nbsp;IEEE&nbsp;&nbsp;&nbsp;
Associate&nbsp;IEE</font></font></strong></div>
<div align="left"><strong><font size="2"><font color="#666666"
 face="Verdana">Technical&nbsp;Manager</font></font></strong></div>
<div align="left"><strong><font color="#666666" face="Verdana" size="2">Computer
Fanatics Limited</font></strong></div>
<div align="left"><strong></strong>&nbsp;</div>
<div align="left"><font color="#666666" face="Verdana" size="2"><strong>Tel</strong>&nbsp;&nbsp;&nbsp;&nbsp;
+64 9 4892280</font></div>
<div align="left"><font color="#666666" face="Verdana" size="2"><strong>Fax</strong>&nbsp;&nbsp;&nbsp;
+64 9 4892290</font></div>
<div align="left"><font color="#666666"><font face="Verdana" size="2"><strong>Email&nbsp;
</strong></font><a href="mailto:rohit@cfl.co.nz"><font color="#0080ff"
 face="Verdana" size="2">rohit@cfl.co.nz</font></a></font><font
 color="#666666"><font face="Verdana" size="2"><strong></strong></font></font></div>
<div align="left"><font color="#666666"><font face="Verdana" size="2"><strong>Web&nbsp;&nbsp;
&nbsp;</strong></font><a href="http://www.cfl.co.nz/"><font color="#0080ff"
 face="Verdana" size="2">www.cfl.co.nz</font></a></font></div>
<div>&nbsp;</div>
<div>
<hr></div>
<div align="left"><span
 style="font-size: 7.5pt; color: rgb(153, 153, 153); font-family: Verdana;"><font
 size="1"><span style="font-size: 10pt; font-family: 'Courier New';"
 lang="EN-NZ"><font color="#000000"><font color="#808080" face="Verdana"
 size="1">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.</font> <o:p></o:p></font></span></font></span></div>
</div>
</div>
</body>
</html>