Topic #2 below.

Any ideas would be greatly appreciated.

73,
Ron/W4MMP

On 6/25/2016 17:43, [email protected] wrote:
> Send Iup-users mailing list submissions to
>       [email protected]
>
> To subscribe or unsubscribe via the World Wide Web, visit
>       https://lists.sourceforge.net/lists/listinfo/iup-users
> or, via email, send a message with subject or body 'help' to
>       [email protected]
>
> You can reach the person managing the list at
>       [email protected]
>
> When replying, please edit your Subject line so it is more specific
> than "Re: Contents of Iup-users digest..."
>
>
> Today's Topics:
>
>     1. Fwd: luajit: error loading module 'iuplua51' from file
>        '.\iuplua51.dll': The specified procedure could not be found.
>        (Antonio Scuri)
>     2. IUP closing the entire program (Ron)
>     3. Re: Fwd: luajit: error loading module 'iuplua51' from file
>        '.\iuplua51.dll': The specified procedure could not be found.
>        (soeren sofke)
>     4. Re: Fwd: luajit: error loading module 'iuplua51' from file
>        '.\iuplua51.dll': The specified procedure could not be found.
>        (Hernan Cano)
>
>
> ----------------------------------------------------------------------
>
> Message: 1
> Date: Wed, 22 Jun 2016 14:18:57 -0300
> From: Antonio Scuri <[email protected]>
> Subject: [Iup-users] Fwd: luajit: error loading module 'iuplua51' from
>       file '.\iuplua51.dll': The specified procedure could not be found.
> To: "IUP discussion list." <[email protected]>
> Message-ID:
>       <CABTKdrVK6cR_rXyDJ6FmBjoVK7-eu4aZWEaG=ncwebtsd8y...@mail.gmail.com>
> Content-Type: text/plain; charset="utf-8"
>
> ---------- Forwarded message ----------
> From: Antonio Scuri <[email protected]>
> Date: Sat, May 21, 2016 at 5:15 PM
> Subject: Re: [Iup-users] luajit: error loading module 'iuplua51' from file
> '.\iuplua51.dll': The specified procedure could not be found.
> To: "IUP discussion list." <[email protected]>
>
>
>    The LuaBinaryes distribution has a DLL called lua51.dll that is actually
> a proxy to lua5.1.dll.
>
>    Since the Lua DLL from Lua JIT is special you need the other way around.
> You can produce a lua5.1.dll proxy that points to lua51.dll.
>
>    I'm sending you two file so you can test this. You must rename them
> because gmail does not allow DLLs in attachments.
>
> Best,
> Scuri
>
>
> On Sat, May 21, 2016 at 3:58 PM, soeren sofke <[email protected]>
> wrote:
>
>> Hi Scuri
>>
>> meanwhile I managed to make it work. I analysed the
>> IUPLUA51.DLL dependencies with "Dependency Walker" [1] and noticed the
>> following mismatch:
>>
>> IUPLUA51.DLL required a file named LUA5.1.DLL but my luaJit build just
>> provides a file named LUA51.DLL.
>>
>> My temporary workaround: I copied and renamed LUA51.DLL to LUA5.1.DLL.
>>
>> I am now able to draw nice GUIs with IUP and even plot data with CD.
>>
>> How should I proceed to overcome this workaround?
>>
>> Best,
>>   S?ren
>>
>> [1] http://www.dependencywalker.com/
>>
>>
>> ------------------------------------------------------------------------------
>> Mobile security can be enabling, not merely restricting. Employees who
>> bring their own devices (BYOD) to work are irked by the imposition of MDM
>> restrictions. Mobile Device Manager Plus allows you to control only the
>> apps on BYO-devices by containerizing them, leaving personal data
>> untouched!
>> https://ad.doubleclick.net/ddm/clk/304595813;131938128;j
>> _______________________________________________
>> Iup-users mailing list
>> [email protected]
>> https://lists.sourceforge.net/lists/listinfo/iup-users
>>
>>
> -------------- next part --------------
> An HTML attachment was scrubbed...
>
> ------------------------------
>
> Message: 2
> Date: Fri, 24 Jun 2016 22:47:00 -0400
> From: Ron <[email protected]>
> Subject: [Iup-users] IUP closing the entire program
> To: [email protected]
> Message-ID: <[email protected]>
> Content-Type: text/plain; charset=utf-8; format=flowed
>
> Hello,
>
> First let me say I completely new to implementing a GUI.  I do have a
> learning curve ahead of me.
>
> However, I am attempting to implement a GUI as part of a DLL that is
> accessed by another application.  The DLL provides access to a radio
> transceiver via an USB connection.
> This is on a Windows 10 system.
>
> Background:
> HDSDR (host application) ->  DLL ->  (radio transceiver (USB).
> There is a call within the DLL that requests a GUI be presented to the
> user.   That GUI will provide access to the transceiver so that certain
> control parameters may be modified.
> Please see the IUP code below.  It appears that when IupClose is
> called,  IUP is closing the entire program and shutting down the DLL.
> This in turn stops the host application. If I simply click on the "X" to
> close the GUI window, things are fine.  The GUI closes and the DLL
> remains running.  But if I click on the "close" button, the DLL stops.
>
> Regards,
> Ron
>
>
> #include <windows.h>
> #include <stdlib.h>
> #include <stdio.h>
> #include <string.h>
> #include <iup.h>
> #include "extern.h"
>
> Ihandle *text, *dlg;
> static char oput[100];
>
> // Textbox key pressed callback
> static int k_any(Ihandle *self, int c)
> {
>       char *lpOput = &oput[0];
>       lpOput = IupGetAttribute(text, "VALUE");        // retrieve the
> whole string
>       double MHz = 0;
>
>       // Treat a CR as the "do it"
>       if (c == K_CR)
>       {
>           double dval = strtod(lpOput, NULL);
>           int val = (int)dval;                        // cast double
> value to an int
>
>           if (val == 0)                                // if zero, send
> that as valid. (default reset)
>           {
>               MessageBoxA(NULL, "Value is blank or zero, assuming zero.
> (reset to default)", "Multus Calibration", MB_OK);
>
>               //TODO: Write zero out
>
>               return IUP_CLOSE;
>           }
>
>           if ((val < -255) || (val > 255))
>           {
>               MessageBoxA(NULL, "Value must be in the range of -255 to
> 255.", "Multus Calibration", MB_OK);
>               return IUP_DEFAULT;
>           }
>
>           // TODO: Write value out
>           MHz = (double)val;
>           Multus_Set_Calibration(MHz);
>           return IUP_CLOSE;        // close window and get out
>       }
>
>       return IUP_DEFAULT;
> }
>
> // OK button callback
> int ok_cb(void)
> {
>       int ret = k_any(text, K_CR);        // send the textbox callback a
> CR if the button is clicked
>       if (ret == IUP_CLOSE)
>       {
>           return IUP_CLOSE;
>       }
>
>       return IUP_DEFAULT;
> }
>
> // Textbox "ACTION" callback (unused)
> static int action(Ihandle *self, int c, char *after)
> {
>       return c;
> }
>
>
> int gui(void)
> {
>       Ihandle *ok_bt;
>       int argc;
>       char **argv;
>
>       IupOpen(&argc, &argv);
>
>       //memset(password, 0, 100);
>
>       text = IupText(NULL);
>       IupSetAttribute(text, "SIZE", "50x");
>       IupSetCallback(text, "ACTION", (Icallback)action);
>       IupSetCallback(text, "K_ANY", (Icallback)k_any);
>
>       // OK button
>       ok_bt = IupButton("  OK  ", 0);
>       IupSetCallback(ok_bt, "ACTION", (Icallback)ok_cb);
>       IupSetAttribute(ok_bt, "POSITION", "20,20");
>
>       // Dialog (window)
>       dlg = IupDialog(IupVbox(text, ok_bt, NULL));
>       IupSetAttributeHandle(dlg, "DEFAULTESC", ok_bt);
>       IupSetAttribute(dlg, "TITLE", "Calibration Offset (-255 to 255)");
>       IupSetAttribute(dlg, "BORDER", "NO");
>       IupSetAttribute(dlg, "RESIZE", "NO");
>       IupSetAttribute(dlg, "MAXBOX", "NO");
>       IupSetAttribute(dlg, "MINBOX", "NO");
>       IupSetAttribute(dlg, "MINBOX", "NO");
>       IupSetAttribute(dlg, "MARGIN", "100x50");
>       IupSetAttribute(dlg, "GAP", "10");
>
>       IupShowXY(dlg, IUP_CENTER, IUP_CENTER);
>       IupMainLoop();                        // this blocks the thread
> returning
>
>       //for (int j = 0; j < 1000; j++)
>       //{
>       //    IupLoopStep();
>       //    Sleep(20);
>       //}
>       //IupExitLoop();
>
>       IupClose();
>       return 500;
>
> }
>
>
> Code snippet from main DLL:
>
> void __stdcall ShowGUI(void)
> {
>       int count = 0;
>       char test[10] = { 0 };
>       int status = 0;
>
>       _cprintf("[%d] ShowGUI Called, calling gui() \n",line_number++);
>       status = gui();
>       _cprintf("[%d] ShowGUI Finished, gui return status %d \n",
> line_number++,status);
>       return;
>


------------------------------------------------------------------------------
Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T Park in San
Francisco, CA to explore cutting-edge tech and listen to tech luminaries
present their vision of the future. This family event has something for
everyone, including kids. Get more information and register today.
http://sdm.link/attshape
_______________________________________________
Iup-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/iup-users

Reply via email to