EuCOM 2.08 + WinXP Pro SP3

new topic     » topic index » view thread      » older message » newer message

Hi,

Is anybody using Euphoria with WinXP PRO SP3... specifically SP3?
And worked with Eu v3.1 + win32lib v0.70.19 + EuCom 2.08 on it?

I have the following scenario at my place....

Till 3 weeks back, I had WinXP PRO SP2 + Eu v3.1 + Win32lib v.70.19 + EuCom v2.08 on my laptop working fine for last 4 years, when WinXP files got corrupt and I had to reinstall WinXP (with sony pre-install recovery cd) going back to year 2005 stage.

As I had to anyway get the latest updates for SP2, I decided to slipstream SP3 from my original i386 folder using RyanVM Integrator update packs and nLite. Everything went accordingly, and I could create an iso image which I installed on a VritualbOx instance/machine. I also installed all required Euphoria and other applications for my project.

Everything worked fine including IDE, untill I executed my main project which uses EuCom 2.08 for accessing third party ActiveX controls.

Now, the ActiveX control (present in c:\windows\system32 folder) Regiatration process fails with 0 (zero) as return code, which was working before the reinstall.

I tried using regsvr32 for registering same controls and they Displayed "DllRegiterServer in [control-name] succeeded" message. Also, my application setup installer program also deosn't generate any error while registering these controls.

Thinking that it could be SP3, I tried to execute same project on physical machine (with SP2), but getting the same result. I regenerated the wrapper using Tbrowse.exw, tried under both SP2 and SP3 environment, without any success.

But the sgrid.ocx provided with EuCom demo works just fine, I can register/unregister it using the same code in my program.
Also, the original demo program which was provided with third party ActiveX controls also works fine.

Following is the code -

atom RSVR32  
-- add various ocx names and their corresponding ids from respective ew files  
-- to following 2 sequences  
ocxnm1 = {"OneWayX.ocx", "OneWaySerialX.ocx"}  
ocxnm2 = {OneWay_clsid_ix, OneWaySerial_clsid_ix}  
--  
RSVR32 = 0  
-------------------------------------------------------------------  
--  Window SynInit -- Info Window  
global constant SynInit = createEx( Window, "Syndicate Setup", 0, 0, 0, 220, 64, 
			 {WS_BORDER, WS_CLIPSIBLINGS}, {WS_EX_DLGMODALFRAME} ), 
		LTextInit = createEx( CText, "Setting up File....", SynInit, 4, 4, 204, 24, 0, 0 )  
setVisible( SynInit, w32False )  
----------------------------------------------------------------------------  
--  
-- register and open ocx  
--  
global function reg_ocx(sequence regnm, atom clsid_ix)  
	RSVR32 = create_com_object( clsid_ix )  
	-- Try to register ocx if it didn't create properly  
	if not RSVR32 then  
		setText(SynInit, appName & " OCX Setup")  
		setText(LTextInit, "Registering " & regnm & " ...")  
		openWindow(SynInit, Normal)  
		setVisible(SynInit, w32True)  
    	        RSVR32 = open_dll( regnm )  
    	        RSVR32 = define_c_proc( RSVR32, "DllRegisterServer", {} )  
    	        c_proc( RSVR32, {} )  
		RSVR32 = create_com_object( clsid_ix )  
		sleep(2)  
		setVisible(SynInit, w32False)  
		closeWindow(SynInit)  
	else  
--		void = message_box("Already Registered!", regnm & " Msg", MB_ICONINFORMATION)  
		return RSVR32  
	end if  
	if not RSVR32 then  
		void = message_box(sprintf("Registration error : %d", {RSVR32}), regnm & " Msg", MB_ICONERROR)  
		abort(1)  
	else  
--		void = message_box("Registered successfully!", regnm & " Msg", MB_ICONINFORMATION)  
	end if  
	return RSVR32  
end function  
--  
-- unregister ocx  
--  
global procedure unreg_ocx(sequence regnm, atom clsid_ix)  
	RSVR32 = create_com_object( clsid_ix )  
	-- Try to unregister already registered ocx  
	if RSVR32 then  
		setText(SynInit, appName & " OCX Setup")  
		setText(LTextInit, "Unregistering " & regnm & " ...")  
		openWindow(SynInit, Normal)  
		setVisible(SynInit, w32True)  
		RSVR32 = open_dll( regnm )  
		RSVR32 = define_c_proc( RSVR32, "DllUnregisterServer", {} )  
		c_proc( RSVR32, {} )  
		RSVR32 = create_com_object( clsid_ix )  
		sleep(2)  
		setVisible(SynInit, w32False)  
		closeWindow(SynInit)  
	else  
--		void = message_box("NOT Registered yet!", regnm & " Msg", MB_ICONINFORMATION)  
		return  
	end if  
	if not RSVR32 then  
		void = message_box(sprintf("Unregistration error : %d",{RSVR32}), regnm & " Msg", MB_ICONERROR)  
		abort(1) 
	else 
--		void = message_box("Unregistered successfully!", regnm & " Msg", MB_ICONINFORMATION) 
	end if 
end procedure 



Any help is appreciated.

Thanks & Regards,
Rad.

new topic     » topic index » view thread      » older message » newer message

Search



Quick Links

User menu

Not signed in.

Misc Menu