1. RE: Error Return Code?

I'm pretty sure that a global execption handler would be useful.
But as for dlls or basically what I would like to see, you could
make Euphoria do the internel CloseLibrary on the dlls that the
users loaded for there eu program before Euphoria pops up the
console error window... just a thought...

-- Todd

____________________________________________________________
T O P I C A  -- Learn More. Surf Less. 
Newsletters, Tips and Discussions on Topics You Choose.
http://www.topica.com/partner/tag01

new topic     » topic index » view message » categorize

2. RE: Error Return Code?

that SHPOULD be a part of the garbage collection shouldn't it?
I don't want dll's being opened numerous times because my program 
crashes.. 
after a short while, all my memory is allocated to these dll's then?

Rob? Does Eu free dll's?

Chris


Todd Riggins wrote:
> 
> I'm pretty sure that a global execption handler would be useful.
> But as for dlls or basically what I would like to see, you could
> make Euphoria do the internel CloseLibrary on the dlls that the
> users loaded for there eu program before Euphoria pops up the
> console error window... just a thought...
> 
> -- Todd

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

3. RE: Error Return Code?

I've had many syntax errors, where EU shuts down and reports, but the 
ms-dos window remains hidden behind the DirectX window..

Maybe this is to do with how the window is created? It's created with 
win32 functions and a full screen window.. no title bar..
don't know the specifics, but Todd prolly would..

Anyhow, if the exotica dll is shut down at this point shouldn't the 
window disappear? Or would the window still need to be closed 
manually(with program code)

Not happening..

Chris

Robert Craig wrote:
> Chris Bensler writes:
> > Rob? Does Eu free dll's?
> 
> If the interpreter finishes normally,
> the .dll's will all be freed (at the very end -
> too late for Todd Riggins to clear the screen
> and see the error message).
> 
> Note that if your program is stopped due to
> the interpreter detecting an error, 
> that's still a normal shutdown for the interpreter itself.
> 
> If the interpreter crashes with a memory access violation
> or something, a lot of stuff is freed, but I'm not sure if 
> everything is freed.
> 
> Regards,
>    Rob Craig
>    Rapid Deployment Software
>    http://www.RapidEuphoria.com
> 
>

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

4. RE: Error Return Code?

> From: Robert Craig

> Euman writes:
> > Why then does MemCheck and BoundsChecker
> > report Resource Leaks because DLL's aren't
> > being free'd under Win32Lib?
> 
> What does the report say exactly?
> Are those tools available on the Web somewhere?
> 
> I've had no complaints of dlls not being freed.

I've been noticing some resource leaks recently (just using windows'
resource meter) using win32lib, regardless of the way Eu shuts down.  I
guess that would explain it...

Matt Lewis

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

5. RE: Error Return Code?

> From: Robert Craig 

> You should copy euphoria\include\safe.e to
> your application's directory and rename safe.e
> as machine.e in that directory. Then run your program.

If you do this in windows, you'll have problems, unless you add some calls
to register_block whenever Eu uses memory handed to it by windows (esp
structures passed through WM_NOTIFY messages).

Matt Lewis

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

6. RE: Error Return Code?

Well... :) actually, uhm... 
I got to admit, I'm not up to par with how global exception
handlers would work for any dll in order to make sure it's
closed before the eu error pop-up console window no matter what the
dll is used for. I guess I need enlightment in that department.
It's just kind of hard for me to see and understand why Euphoria
doesn't free up ANY and ALL user created stuff( ie: allocated memory, 
loaded
dlls, etc.) before Euphoria finally shows what Euphoria related user
error in the console window. But I do realise and respect that you, 
Robert, that you most likely see that it wouldn't be feasible 
to change up alot of internal Euhporia code just to fit that one need. 

But the fact remains that my dll is still active when the Euhporia
Error console window is activated by Euhporia itself and then the dll
will close after you hit return to exit the Euhporia error window.
I'm guessing there is no arguement on that note.

So if you go with this global exception handler thing, would I be
able to call a Euphoria function from my c coded dll to determine
that Euhporia has quit do to an error? If that's how it works,
then I would know I can shutdown my dll so that the DirectDraw 
Fullscreen surfaces would be released and freed. Then
Euhporia/Exotica users could smoothly see that the DirectX stuff
is now freed and now back to there desktop with the Euphoria
error console window sitting right there waiting to be read.

- Todd

Robert Craig wrote:
> Chris Bensler writes:
> > I've had many syntax errors, where EU shuts down and reports,
> > but the ms-dos window remains hidden behind the 
> > DirectX window..
> 
> This is what Todd reported already.
> It sounds like it might be fixed if the DirectX
> .dll is closed first. I agreed that a global exception handler
> in Euphoria might be a solution.
> 
> Regards,
>    Rob Craig
>    Rapid Deployment Software
>    http://www.RapidEuphoria.com
> 
> 
> 



-------------------------------------
Todd Riggins
-------------------------------------
Exotica DX Game Library For Euphoria
-------------------------------------
Exotica Website:
http://exotica.iwarp.com/exotica.html
-------------------------------------
Exotica Forum:
http://pub19.ezboard.com/bexoticadxgamelibrary
-------------------------------------

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

7. RE: Error Return Code?

The Win32Lib is a badly behaving program in that it does NOT clean up 
after itself. It does free up some resources but not all. I must address 
this issue as a top priority bug.

However... I've been working interstate for a few days now and won't be 
back to the library code until the weekend.

----
cheers
Derek.

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

8. RE: Error Return Code?

Robert Craig wrote:
> Matt Lewis writes:
> > If you do this in windows, you'll have problems, 
> > unless you add some calls to register_block whenever 
> > Eu uses memory handed to it by windows (esp
> > structures passed through WM_NOTIFY messages).
> 
> Right. Thanks for reminding me.
> 
> machine.e defines register_block() and unregister_block() as
> no-ops, so it would be possible to put these calls into Win32Lib
> and run with either safe.e or machine.e. Of course, if there are
> a million places where it has to be done it wouldn't be worth it.
> 
> Regards,
>    Rob Craig
>    Rapid Deployment Software
>    http://www.RapidEuphoria.com
> 
> 

Also just a reminder, Win32LIb does not use Euphoria's memory allocation 
routines - it uses Window's ones instead.
-----
cheers
Derek.

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

Search



Quick Links

User menu

Not signed in.

Misc Menu