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