BON interpreter GME2000COM.h
Peter Volgyesi
peter.volgyesi at vanderbilt.edu
Mon Sep 30 10:37:03 CDT 2002
----------
From: Peter Volgyesi[SMTP:PETER.VOLGYESI at VANDERBILT.EDU]
Sent: Monday, September 30, 2002 2:37:03 AM
To: GME Group; GME List
Subject: Re: BON interpreter GME2000COM.h
Auto forwarded by a Rule
> Please refer to the following macro in GME2000COM.h
> #define COMTHROW(code) { HRESULT e = (code); \
> if(e != S_OK) { COMVERIFY((##code, e)); throw e; } }
> This macro is being used as follows in ComponentObj.cpp
> COMTHROW(project->BeginTransaction(terr))
>
> When expanded it seems to me that the macro would invoke the function
> "project->BeginTransaction()" twice, which I don't think is a desirable
> behavior.
This is "interesting". I do not know, why did we declare COMTHROW this way
in BON. However, this causes problems only, if a COM methodcall has failed.
> In the older versions of GME this has been succeeding for me (and for
> everybody I suppose). However, just recently when I tried to compile and
> run one of my interpreters I get the following errors on the above
> mentioned line in ComponentObj.cpp . My guess is that the
> BeginTransaction call succeeds the first time, however it fails the
> second time. And the following are the errors that I get --
> . . .
There was a bug in the browser code (in the interpreter invocation), that
I've fixed right now. Thanks for your mail.
--
peter
More information about the gme-users
mailing list