We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
I wrote an AGSI DLL, it works well in V6.14, but it can NOT work in V6.21 or higher version. What's wrong? In AgsiEntry, even I just return 0, it still fails.
extern "C" DWORD AGSIAPI AgsiEntry (DWORD nCode, void *vp) { return 0; // return fail }
The AGSI interface has been revised and extended between these two versions. However, this should not lead to incompatibilities. You return the wrong value in AgsiEntry. 0 (FALSE) means that there is an error and the AGSI DLL should be dropped. You have to return 1 (TRUE) to indicate that your DLL has executed the function successfully. Maybe the return value has not been checked in the past but the specification has not changed in this respect. If you can't find the problem, please let me know.
Hi Hans, I think I found the root that cause the crash. When I define an AGSIMENU, the nDlgId item must be unique and must be non-zero. If it is zero, the debugger will crash. Regards, Archie