1. Exotica still doesn't like the Translator
- Posted by martin.stachon at worldonline.cz Jun 10, 2001
- 406 views
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> </DIV> <DIV><FONT face=3D"Arial CE" size=3D2>> The compiled program freezes = in=20 emain.ew,<BR>> line 162 :<BR>> c_proc(ShowWindow, {hwnd,=20 SW_SHOW})<BR></FONT></DIV> <DIV><FONT face=3D"Arial CE"=20 ------=_NextPart_000_000B_01C0F10A.822F9FA0--
2. Re: Exotica still doesn't like the Translator
- Posted by Robert Craig <rds at RapidEuphoria.com> Jun 10, 2001
- 369 views
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