brainsucker
3rd September 2003 03:07 UTC
ExeHead & Ole request
I've just finished new System version, with support of GUID & WCHAR params, and fast VTable calling (i.e. COM ready).
The only problem is that ExeHead subsequent calls to OleInitialize(NULL) and OleUninitialize() kill all my chances to work with COM. Actually, only two calls to each function needed (one at main app thread, and second at install_thread). Currently the same two x2 calls are placed at RegisterDll and CreateShortcut functions. I've compiled modified version for System debugging and it works fine. Could you make the same available to public, please?
p.s. the size situation could be balanced: if only NSIS_SUPPORT_CREATESHORTCUT defined - run functions at installer thread only. if NSIS_SUPPORT_ACTIVEXREG defined - run them at main thread too. or something like that. Thanx.
brainsucker
3rd September 2003 03:09 UTC
btw, new style CreateGUID: ;)
System::Call 'ole32::CoCreateGuid(g .r0)'
brainsucker
3rd September 2003 13:03 UTC
Major system upgrade. As I said before some exehead adaptation needed to use new "->" calling method. All other changes could be used right now.
release 4, 3 september 2003.
1. Division by zero fatal error at Int64Op killed.
2. bool type removed (use int instead).
3. GUID (g) and LPWSTR (w) types added.
4. Memory cleanup after using t (string), g (guid) and w (unicode string) added.
5. Automatic A-letter at proc name discovery.
6. COM optimized: new proc specification "x->y", where x is interface ptr, and y is vtable member index. For such procs Interface pointer passed as first arg automaticaly.
kichik
4th September 2003 19:17 UTC
Done.