Click here to Skip to main content
15,891,704 members
Home / Discussions / COM
   

COM

 
GeneralRe: Kill a non-responsive COM Object Pin
Rama Krishna Vavilala2-Jul-02 6:35
Rama Krishna Vavilala2-Jul-02 6:35 
GeneralRe: Kill a non-responsive COM Object Pin
soptest2-Jul-02 12:32
soptest2-Jul-02 12:32 
QuestionHow to use an OCX Pin
yuval30-Jun-02 21:02
yuval30-Jun-02 21:02 
AnswerRe: How to use an OCX Pin
Ernest Laurentin1-Jul-02 8:49
Ernest Laurentin1-Jul-02 8:49 
GeneralChange path of an open Windows File Open/Save common dialog Pin
Jonatan Dahl30-Jun-02 12:33
Jonatan Dahl30-Jun-02 12:33 
GeneralEnlist the Transaction of two transactional com+ object Pin
Lizp28-Jun-02 22:51
Lizp28-Jun-02 22:51 
GeneralOverwriting COM Pin
28-Jun-02 4:38
suss28-Jun-02 4:38 
GeneralRe: Overwriting COM Pin
soptest28-Jun-02 9:20
soptest28-Jun-02 9:20 
Implement interface you want to overwright.
1. You can use ATL to implement Interface.
2. Or see this example:
#include "stdafx.h"
#include "windows.h"
#import "testObj.dll"
/*
// testObj.idl : IDL source for testObj.dll

import "oaidl.idl";
import "ocidl.idl";
	[
		object,
		uuid(C795331D-0C56-11D6-A0FD-00B0D0C3D9BD),
		dual,
		helpstring("Itest Interface"),
		pointer_default(unique)
	]
	interface Itest : IDispatch
	{
		[id(1), helpstring("method f")] HRESULT f();
		[id(2), helpstring("method In")] HRESULT In([in] BSTR wsIn);
	};

[
	uuid(C7953311-0C56-11D6-A0FD-00B0D0C3D9BD),
	version(1.0),
	helpstring("testObj 1.0 Type Library")
]
library TESTOBJLib
{
	importlib("stdole32.tlb");
	importlib("stdole2.tlb");

	[
		uuid(C795331E-0C56-11D6-A0FD-00B0D0C3D9BD),
		helpstring("test Class")
	]
	coclass test
	{
		[default] interface Itest;
		interface Itest2;
	};
};

*/

#include "comdef.h"
class MyNew: public ::TESTOBJLib::ItestPtr
{
public:
	MyNew()
	{
		::CoInitialize(0);
		::TESTOBJLib::ItestPtr p;
		(*((::TESTOBJLib::ItestPtr*)this)).CreateInstance(L"TestObj.test");

	}
	~MyNew()
	{
		this->Release();
		::CoUninitialize();
	}

	HRESULT In( _bstr_t wsIn )
	{//call default function
		(*((::TESTOBJLib::ItestPtr*)this))->In(wsIn);
		return S_OK;
	};

	HRESULT f()
	{//overwritten function
		::OutputDebugString("this my function.");
		return S_OK;
	}
};

int main(int argc, char* argv[])
{
	MyNew p;

	p.f();
	p.In("test");
	
	return 0;
}


soptest
GeneralRe: Overwriting COM Pin
28-Jun-02 18:31
suss28-Jun-02 18:31 
GeneralRe: Overwriting COM Pin
Ramu Pulipati29-Jun-02 4:15
Ramu Pulipati29-Jun-02 4:15 
GeneralRe: Overwriting COM Pin
Sam Hobbs1-Jul-02 13:50
Sam Hobbs1-Jul-02 13:50 
GeneralATL - Class Factory and Interface Implementation Seperation Pin
Marc Bednar27-Jun-02 9:57
Marc Bednar27-Jun-02 9:57 
GeneralFiring an event from an MFC ActiveX control Pin
twomagiclovers27-Jun-02 8:59
twomagiclovers27-Jun-02 8:59 
GeneralRe: Firing an event from an MFC ActiveX control Pin
Ernest Laurentin27-Jun-02 19:29
Ernest Laurentin27-Jun-02 19:29 
GeneralSimple Srting Conversion Pin
Ryan B.27-Jun-02 5:19
Ryan B.27-Jun-02 5:19 
GeneralRe: Simple Srting Conversion Pin
Ernest Laurentin27-Jun-02 19:27
Ernest Laurentin27-Jun-02 19:27 
GeneralRe: Simple Srting Conversion Pin
Stuart Dootson3-Jul-02 14:37
professionalStuart Dootson3-Jul-02 14:37 
GeneralRe: Simple Srting Conversion Pin
Jeremy Pullicino4-Jul-02 4:57
Jeremy Pullicino4-Jul-02 4:57 
GeneralNo Matching DLGINIT Pin
ssirisha27-Jun-02 4:35
ssirisha27-Jun-02 4:35 
GeneralRe: No Matching DLGINIT Pin
Prem Kumar28-Jun-02 4:39
Prem Kumar28-Jun-02 4:39 
GeneralRe: No Matching DLGINIT Pin
ssirisha28-Jun-02 6:29
ssirisha28-Jun-02 6:29 
GeneralSAFEARRAY in Variant Pin
Hans Ruck26-Jun-02 5:18
Hans Ruck26-Jun-02 5:18 
GeneralRe: SAFEARRAY in Variant Pin
Ramu Pulipati26-Jun-02 6:24
Ramu Pulipati26-Jun-02 6:24 
GeneralDCOM port restriction Pin
MrGlover24-Jun-02 13:46
MrGlover24-Jun-02 13:46 
GeneralCOM Exe that "stays" Pin
[Shadow]24-Jun-02 2:28
[Shadow]24-Jun-02 2:28 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.