1. Exotica still doesn't like the Translator

This is a multi-part message in MIME format.

------=_NextPart_000_000B_01C0F10A.822F9FA0
	charset="iso-8859-2"

Even with the final release of the translator,
I cannot get run any Euphoria program that uses Exotica.
"Program comitted illegal operation and will be terminated."
Seems that it's still the same problem that I explained in
one post a month ago, but nobody replied.

> The compiled program freezes in emain.ew,
> line 162 :
> c_proc(ShowWindow, {hwnd, SW_SHOW})


------=_NextPart_000_000B_01C0F10A.822F9FA0
Content-Type: text/html;
	charset="iso-8859-2"
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META content=3D"text/html; charset=3Diso-8859-2" =
http-equiv=3DContent-Type>
<META content=3D"MSHTML 5.00.2614.3500" name=3DGENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=3D#ffffff>
<DIV><FONT face=3D"Arial CE" size=3D2>Even with the final release of the =

translator,</FONT></DIV>
<DIV><FONT face=3D"Arial CE" size=3D2>I cannot get run any Euphoria =
program that=20
uses Exotica.</FONT></DIV>
<DIV><FONT face=3D"Arial CE" size=3D2>"Program comitted illegal =
operation and will=20
be terminated."</FONT></DIV>
<DIV><FONT face=3D"Arial CE" size=3D2>Seems that it's still the same =
problem that I=20
explained in</FONT></DIV>
<DIV><FONT face=3D"Arial CE" size=3D2>one post a month ago, but nobody=20
replied.</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=3D"Arial CE" size=3D2>&gt; The compiled program freezes =
in=20
emain.ew,<BR>&gt; line 162 :<BR>&gt; c_proc(ShowWindow, {hwnd,=20
SW_SHOW})<BR></FONT></DIV>
<DIV><FONT face=3D"Arial CE"=20

------=_NextPart_000_000B_01C0F10A.822F9FA0--

new topic     » topic index » view message » categorize

2. Re: Exotica still doesn't like the Translator

Martin Stachon writes:
> Even with the final release of the translator,
> I cannot get run any Euphoria program that uses Exotica.

On Windows, there are two different calling conventions
for C subroutines. The Translator expects all C routines
in a .dll to use the __stdcall convention. This is the convention
used by all WIN32 API routines. From what Todd Riggins
tells me, Exotica uses the __cdecl convention. 

By luck, the interpreter, compiled by WATCOM C, will not crash
if the .dll is __cdecl, though there might be a problem with returning
a C double, I'm not sure. I think it works because 
c_proc/c_func returns almost immediately after calling the 
.dll routine, and WATCOM-generated code manages 
to reset the incorrect stack pointer before it is used. 
So I recall that the Translator worked with WATCOM,
but not Borland or Lcc.

However, Todd says he tried rebuilding his .dll using __stdcall 
and things still didn't work. So we aren't sure what to do about it.

Regards,
   Rob Craig
   Rapid Deployment Software
   http://www.RapidEuphoria.com

new topic     » goto parent     » topic index » view message » categorize

Search



Quick Links

User menu

Not signed in.

Misc Menu