com

Seemingly random crashes with VB.NET and COM Interop

I'm thinking of rewriting a brand new VB.NET application in VB 6. The application runs under terminal services and makes heavy use of COM. For some reason, there is random weirdness with the application - Random Access Violation errors (WinDbg exception analysis points into dll's like comdlg32.dll, mscorwks) Random Buffer Overflow er...

Is it best practice to use COM properties or COM setters and getters in C++?

I am relatively new to development within COM, and I was wondering what the community standard was for access of COM object properties. I have seen both of the following conventions in code: comObjectPtr->PutValue(value); and comObjectPtr->Value = value; and both seem to work, but I was wondering if there was an inherent advantage ...

How to get a window handle to a COM Single-Threaded Apartment (STA)?

CoInitialize(NULL) creates an STA by creating a hidden window. How to get an HWND handle for this window? Function EnumThreadWindows does not work, in an example I tried: ... CoInitialize(NULL); EnumThreadWindows(GetCurrentThreadId(), EnumThreadWndProc, 0); ... BOOL CALLBACK EnumThreadWndProc(HWND hwnd, LPARAM lParam) { m_hwnd =...

Calling .Net Class Library (dll) from VB

Hi All, I've used a tutorial (http://support.microsoft.com/kb/317535) to create a VB.NET Class that exports a COM visible method for calculating MD5 checksums. The problem is that I need to call this .dll from a language similar to VB (Extra Basic) and it only supports COM calls. On my machine everything works like a charm, but on the ...

Replicating Visual Studio COM registration with a WiX Installer

Once upon a time, a young, naive engineer thought it would be a good idea to separate out some of the functionality for his app into a COM component, written in C#. Visual studio had all the tools to do that, right? .NET was practically made for this, right? HA! He said, this will be easy. I'll have decent separation of components, ...

Embedding COM components into an AIR app?

If you didn't care about cross platform deployment, is it possible to embed a COM component into an AIR app? Googling shows nothing on this. A link to an example of how to do it would be nice. ...

RTD - making the sample COM DLL into a COM exe

I'm planning on making my existing application into an RTD server. The application is currently written in C++ and while I will eventually port it to C#/Mono I want to be able to add the RTD functionality with C++. I have found a few sample pieces of code (the MSVCRTDServer) and this site: http://weblogs.asp.net/kennykerr/archive/20...

Quick primer on implementing a COM object that implement some custom IDLs in python?

Does anyone have experience using python to create a COM object that implements some custom IDLs? Basically I'd like to know if it's extremely simple to do compared to c++, and if it is do you know of a good tutorial? ...

OnReadyStateChange event in ActiveX controls

I wrote a Firefox plugin (only compatible with FF3 atm) that allows the hosting of ActiveX controls. Before the flaming begins - this is not the main topic for this question and the plugin was designed with security in mind so it doesn't break my favorite browser. if you are interested, it's hosted at http://code.google.com/p/ff-activex-...

COM object and javascripts

Hi, I tried to consume 3rd. party COM object from JavaScript. from some reason, it crashes my internet explorer with no apparent reason when the object is beig disposed. The COM object works perfectly when using it from other environments (like vb and C#) any suggestions? can it be IE security setting that cause the problem? does anyn...

.NET + COM changed keyboard routing behavior

Hi all! I have a problem so strange that I hardly can put an adequate title to it. In short: I have COM object written in MSVC++/MFC with a dialog derived from CDialog. On that dialog I have three child "user controls" - windows derived from plain CWnd. When I use this COM object from a variety of places, everyhing works as I expect. ...

Accessing DCOM Security with System.Security.AccessControl possible?

I know that the DCOM topic has been discussed a couple of times already. However, I am not satisfied with the solutions that are available (yet). This is why I start a new question here. Every knows by now that The Access Control Lists (ACL) that store information about which users may do what with applications are stored in the registr...

What is the secret to understanding MSDN COM documentation?

I am looking for "typical" way one navigates MSDN to get a COM class to do what they want. Example problem: I am looking for an API way to unblock a local file (remove internet zone/mark of the web from a file programmatically). I found one post on stackoverflow.com that talked about clsid_persistentzoneidentifier. so i searched in M...

Correct name for non-COM, non-.NET DLL?

In the Windows world, what is the correct name for a good. old-fashioned C++ DLL with exported functions? Not a COM DLL, not a .NET DLL. The kind of DLL that we used to invoke by calling LoadLibrary() and GetProcAddress()? I've always called them "flat DLLs" because the caller cannot instantiate objects from the DLL, but what is the co...

DDE Server Window - Application Error

I have a c# application that opens up a COM instance of excel and dumps some data from an Access 2000 database via oleDB onto the sheet then releases the excel object, but I get a window after I close the program with the title bar: DDE Server Error: [applicationName.exe] - Application Error I think I've narrowed this down to be an i...

Excel automation. How to copy more than one cell?

For instance: //omitted vector<_bstr_t> cellData; Excel::_WorksheetPtr pSheet = application->ActiveSheet; Excel::RangePtr pRange = application->Cells; _bstr_t cellValue = pRange->Item[1][1]; //single cell cellData.push_back(cellValue); //omitted Without: MFC ATL Question: How to copy, multiple cells, for instance A1:B1, ...

Simplest way to move an array from C++ to C#, modify it, and pass it back to C++

I have a C# class library that contains methods that need to be used with an external application. Unfortunately this external application only supports external APIs in C/C++. Now I've managed to get a very simple COM example working between a C++ dll and a C# DLL, but I am stuck on how I can move around array data. This is what I'v...

Pass more than one argument to CreateThread

Question: How to pass specifically two arguments to CreateThread, when: Argument one, of type SOCKET Argument two, an interface pointer: _COM_SMARTPTR_TYPEDEF(Range, __uuidof(Range)); RangePtr pRange; //pass pRange Suggestions: For interface pointer, using CoMarshalInterThreadInterfaceInStream, accordingly, ...

Error (2147024894) while opening .Net (C#) COM application into VB

Hi All, I am developing plug in application for a third party software (They using COM technology to launch the plug in applications to their Software).I am using .Net(C#) for application development. The third party software was developed by VB. When i am trying to launch my plug in application to Third party software i am getting follo...

How do I specify binary data in a COM RGS file

I'm adding some custom data data to the registry during the registration of a COM object by adding it to the rgs file. Adding a DWORD value (specified by = d '3' below) gets entered into the registry as expected. For the binary/hex data however it does not get entered into the registry correctly. Can anyone advise what the correct synt...