|
Hello Bankey,
your DLL may be a COM object library (inproc server), that does not export classes but publishes interfaces. You don't have to load such a library and you don't need to edit a header file. But your EXP-file may contain the interface descriptions.
Have a look inside the DLL with QuickViewPlus or any HEX editor. If you can see any function like "DllGetClassObject" or "DllRegisterServer" in section "Export-Table" perform the following steps:
1. register your DLL with: regsv32.exe pathto\your.dll
You should get a message like "DLLRegisterserver" in your.DLL succeeded", if not, forget my replay.
2. Your development environment should support the function "Import TypeLib". If you perform this action in your code project while selecting your DLL, a new modul should be created that contains the interface description (basicly *_TLB.*).
After step 1 and without any development environment I would do so:
- run regedit.exe
- select HK_ROOT
- find "your.dll" repeately
- for every exported COM object a key like "HKEY_CLASSES_ROOT\CLSID\{...}\InprocServer32" should be found
- look at subkey "\ProgID": here is the class name like "Scriptung.FileSystemObject"
- now you can create an instance in a simple VBS file with
set oObj = CreateObject(Value_Of_ProgID)
If you have determined the ProgID's in this way, you can use MSOffice VBA editor to include the COM objects by name and explore their interfaces.
Regards
Ralf
|
|
|
|
|
CComboBox m_cmbRemoteFolder;
this->m_cmbRemoteFolder.SetEditText(csRemoteFileURL);
UpdateData(FALSE);
I use it to set the new text to combobox. But the value is not updated in the UI.
If I use the mouse to click the combobox, the text of the combobox is updated.
I donot know why?
|
|
|
|
|
Do you have a data member for the ComboBox as well as a control member? Because if you do then
this->m_cmbRemoteFolder.SetEditText(csRemoteFileURL);
will set the text of the ComobBox as you desire and then
UpdateData(FALSE); will restore it to what it was.
|
|
|
|
|
Thank you for your reply.
I use t he UpdateData(TRUE) after calling this->m_cmbRemoteFolder.SetEditText(csRemoteFileURL)
But it is no-useful.
I do not know why I click the combobox, the text of combobox is updated immediately.
|
|
|
|
|
I resolved this issue.
Because I set the Type of the ComboBox as Drop List.
When use the SetEditText to update its Text, The Text of this combobox is not refreshed immediately, even use the UpdateData(TRUE), it is still non-use.
|
|
|
|
|
i have two audio file then i want to compare to each other.
e
|
|
|
|
|
How many times you send this message in Code Project
Yes U Can ...If U Can ,Dream it , U can do it ...ICAN
|
|
|
|
|
Well get on and compare them, and when you hit a problem come back and try asking a sensible question.
Just say 'NO' to evaluated arguments for diadic functions! Ash
|
|
|
|
|
sound forge, free opensource project!
"Opinions are neither right nor wrong. I cannot change your opinion. I can, however, change what influences your opinion." - David Crow Never mind - my own stupidity is the source of every "problem" - Mixture
cheers,
Alok Gupta
VC Forum Q&A :- I/ IV
Support CRY- Child Relief and You
|
|
|
|
|
Sound Forge is from Sony and certainly not open source. Maybe you were thinking of Audacity?
Go and never darken my towels again - Groucho Marx
|
|
|
|
|
I think I've heard this question before. I wonder how I can compare them.
Chris Meech
I am Canadian. [heard in a local bar]
In theory there is no difference between theory and practice. In practice there is. [Yogi Berra]
posting about Crystal Reports here is like discussing gay marriage on a catholic church’s website.[Nishant Sivakumar]
|
|
|
|
|
use compareit software for binary comparison
If u can Dream... U can do it
|
|
|
|
|
At least do you know what exactly you need to compare- artist, time length, quality, etc. ? A good question is half answer. Ask a good question, the rest half answer you'll get from someone for sure.
|
|
|
|
|
Hi friends,
My product have a ATL/COM based C++ service (32 bit). It get registered and run fine on XP 32 bit and Vista 32 bit.
But now I want to run the same on Windows7 64 bit also. I tried to register the service the following way:
1 I did Copy MyService.exe at C:\Windows\SysWOW64.
2 Then executing "C:\Windows\SysWOW64\MyService.exe" -RegServer from Start->Run
3 Then executing "C:\Windows\SysWOW64\MyService.exe" -Service from Start->Run
But my service is not getting registered. While registering it, I don't get any error message. Also I didn't find any entry in event viewer (I saw event viewer first time. Don't know where to see the log about registration of my service). And I didn't find entry for my service at Control Panel\Administrative Tools\Services.
Please advise me how can I register my service?
Thanks in Advance
Regards
|
|
|
|
|
For 64 bit OS you must build a dll with x64.
In Visual Studio 2005,
Select programs->Microsoft Visual Studio 2005->Visual Studio tools->visual studio 2005 x64 cross tool command prompt.
Open this command and type devenv. A new environment is open than select x64 in Solution platform and build your application.
In Visual Studio 2008 and 2010 just build the application with x64 Solution platform.
New exe is created in Release ->x64-><yourexe>.
Yes U Can ...If U Can ,Dream it , U can do it ...ICAN
|
|
|
|
|
Thanks Shilpi.
Actually I didn't get reply for some time so I did post in different forum. Sorry for that.
The way you are saying, is making my service 64 bit itself. My application consists of 4 DLLs, one ATL service(an exe) and a main exe. And all these binaries are 32 bit. So I want my service to be 32 bit only.
Any help you can provide?
Thanks and Regards
Aseem
|
|
|
|
|
hello guys... i tried alot but coult convert from CString to LPSTR. here is what im using
CString fileName = m_strFileName.GetBuffer();
LPSTR fName = m_strFileName.GetBuffer(fileName.GetLength());
but off course it gives the following error
error C2440: 'initializing' : cannot convert from 'wchar_t *' to 'LPSTR'
how do I do this? thnx
|
|
|
|
|
You are mixing multi-byte and UNICODE. Unless there is a specific API that is in only ANSI, you should probably make all your code work with UNICODE.
In this case, simply change the variable fName to LPWSTR.
Do note that this isn't converting anything, but simply giving you a writable pointer to CString's buffer.
|
|
|
|
|
As Joe points out you are trying to create an ASCII string from Unicode. However you are also using a sledgehammer to crack a nut. If you want a pointer to the actual C-style string that is contained within a CString you just need to use the correct operator thus:
LPTSTR tString = m_strFileName;
LPWSTR wString = m_strFileName;
LPSTR aString = m_strFileName;
Read up on the CString documentation in MSDN for full details.
Just say 'NO' to evaluated arguments for diadic functions! Ash
|
|
|
|
|
In addition to the previous replies, I strongly suggest you read this article[^] which will explain everything you need to know about character encoding.
|
|
|
|
|
I have this dialog window with a progress bar, a couple statics, and two command buttons. I am able to update the text of the labels using SetDlgItemText and then UpdateWindow. When I go to destroy the dialog using DestroyWindow, it just hangs. I do handle the WM_DESTROY message, but it seems that it never gets called. What is going on?
case WM_DESTROY:
if (NULL != hIcon1)
{
DestroyIcon(hIcon1);
}
hIcon1 = NULL;
return TRUE;
SetDlgItemText(hWnd, IDC_STATUS, "Update completed.");
UpdateWindow(GetDlgItem(hWnd, IDC_STATUS));
DestroyWindow(hWndPanelTwo);
modified 21-Dec-20 21:02pm.
|
|
|
|
|
Without seeing more of the dialog code, this is just a guess, but do any of your command buttons make a call to EndDialog? That should trigger the WM_DESTROY.
Chris Meech
I am Canadian. [heard in a local bar]
In theory there is no difference between theory and practice. In practice there is. [Yogi Berra]
posting about Crystal Reports here is like discussing gay marriage on a catholic church’s website.[Nishant Sivakumar]
|
|
|
|
|
This is not the way to terminate a Dialog, you should just use the EndDialog() call.
Just say 'NO' to evaluated arguments for diadic functions! Ash
|
|
|
|
|
This dialog doesn't have a command button that calls EndDialog(), but I have other dialogs that do and I've successfully been able to terminate them using DestroyWindow().
modified 21-Dec-20 21:02pm.
|
|
|
|
|
I think I've forgotten to tell you that this takes place in a different thread than the one that hWndPanelTwo was created. After looking at the MSDN Reference pages, a found a small note that said why the dialog wasn't destroyed:
Remarks
A thread cannot use DestroyWindow to destroy a window created by a different thread.
So my question becomes how can I destroy this window from within a different thread? EndDialog won't work becuase I used CreateWindow to create the dialog.
modified 21-Dec-20 21:02pm.
|
|
|
|