|
This article explains it. Basically you use LoadLibrary with the DLL's path given to it. The rest is mapping the functions you will need to call.
- Michael Haephrati מיכאל האפרתי
|
|
|
|
|
Hi,
i have created a sample ATL application in VS2010, added ATL Simple object.
it has only one method
int getVal()
{
return 10;
}
i have enabled /clr switch in the project properties and build in release mode. (i have added /clr because i want to consume some objects build in C#.net)
after registering the dll, i have consumed the COM object in vbscript. (the code below)
dim obj
set obj = createobject("MySample.COMSample")
msgbox obj.getVal()
set obj = nothing
this is very simple COM object. if i run the above script, it will show message box "10".
once i press ok, there is an popup with an exception message below.
---------------------------
WScript.exe - Application Error
---------------------------
The exception unknown software exception (0xc0020001) occurred in the application at location 0x7c812aeb.
Click on OK to terminate the program
---------------------------
OK
---------------------------
if i remove /clr switch and build it run the Vbscirpt. i don't see the popup error.
any suggestion why there an exception when /clr switch is used ?
Thanks in advance.
modified 23-Aug-17 6:26am.
|
|
|
|
|
I m using VC++ VS2008 compact edition. I hv problem that
when I m using
GetUsbDriveLetter(CString)
at compiled time error occurred not defined because it is in Quote: winbase.h sdk function. And CE7 hv different sdk therefore it occurred. please suggest me how to get USB letter in CE7
YogeshJadhav
|
|
|
|
|
I cannot find that function in the latest version of winbase.h, and MSDN does not seem to have heard of it. What version of the SDK do you have that includes it?
|
|
|
|
|
actual error is
Error 294 error C3861: 'GetLogicalDriveStrings': identifier not found
and using Toradex_CE700 platform using VC++
Microsoft Visual Studio 2008
Version 9.0.30729.1 SP
Microsoft .NET Framework
Version 3.5 SP1
Installed Edition: Professional
Microsoft Visual C++ 2008 91605-130-0752752-60490
Microsoft Visual C++ 2008
Crystal Reports AAJ60-G0MSA4K-68000CF
Crystal Reports Basic for Visual Studio 2008
Hotfix for Microsoft Visual Studio 2008 Professional Edition - ENU (KB2483802) KB2483802
This hotfix is for Microsoft Visual Studio 2008 Professional Edition - ENU.
If you later install a more recent service pack, this hotfix will be uninstalled automatically.
For more information, visit http:
Hotfix for Microsoft Visual Studio 2008 Professional Edition - ENU (KB944899) KB944899
This hotfix is for Microsoft Visual Studio 2008 Professional Edition - ENU.
If you later install a more recent service pack, this hotfix will be uninstalled automatically.
For more information, visit http:
Hotfix for Microsoft Visual Studio 2008 Professional Edition - ENU (KB945282) KB945282
This hotfix is for Microsoft Visual Studio 2008 Professional Edition - ENU.
If you later install a more recent service pack, this hotfix will be uninstalled automatically.
For more information, visit http:
Hotfix for Microsoft Visual Studio 2008 Professional Edition - ENU (KB946040) KB946040
This hotfix is for Microsoft Visual Studio 2008 Professional Edition - ENU.
If you later install a more recent service pack, this hotfix will be uninstalled automatically.
For more information, visit http:
Hotfix for Microsoft Visual Studio 2008 Professional Edition - ENU (KB946308) KB946308
This hotfix is for Microsoft Visual Studio 2008 Professional Edition - ENU.
If you later install a more recent service pack, this hotfix will be uninstalled automatically.
For more information, visit http:
Hotfix for Microsoft Visual Studio 2008 Professional Edition - ENU (KB946344) KB946344
This hotfix is for Microsoft Visual Studio 2008 Professional Edition - ENU.
If you later install a more recent service pack, this hotfix will be uninstalled automatically.
For more information, visit http:
Hotfix for Microsoft Visual Studio 2008 Professional Edition - ENU (KB946581) KB946581
This hotfix is for Microsoft Visual Studio 2008 Professional Edition - ENU.
If you later install a more recent service pack, this hotfix will be uninstalled automatically.
For more information, visit http:
Hotfix for Microsoft Visual Studio 2008 Professional Edition - ENU (KB947171) KB947171
This hotfix is for Microsoft Visual Studio 2008 Professional Edition - ENU.
If you later install a more recent service pack, this hotfix will be uninstalled automatically.
For more information, visit http:
Hotfix for Microsoft Visual Studio 2008 Professional Edition - ENU (KB947173) KB947173
This hotfix is for Microsoft Visual Studio 2008 Professional Edition - ENU.
If you later install a more recent service pack, this hotfix will be uninstalled automatically.
For more information, visit http:
Hotfix for Microsoft Visual Studio 2008 Professional Edition - ENU (KB947180) KB947180
This hotfix is for Microsoft Visual Studio 2008 Professional Edition - ENU.
If you later install a more recent service pack, this hotfix will be uninstalled automatically.
For more information, visit http:
Hotfix for Microsoft Visual Studio 2008 Professional Edition - ENU (KB947540) KB947540
This hotfix is for Microsoft Visual Studio 2008 Professional Edition - ENU.
If you later install a more recent service pack, this hotfix will be uninstalled automatically.
For more information, visit http:
Hotfix for Microsoft Visual Studio 2008 Professional Edition - ENU (KB947789) KB947789
This hotfix is for Microsoft Visual Studio 2008 Professional Edition - ENU.
If you later install a more recent service pack, this hotfix will be uninstalled automatically.
For more information, visit http:
Hotfix for Microsoft Visual Studio 2008 Professional Edition - ENU (KB948127) KB948127
This hotfix is for Microsoft Visual Studio 2008 Professional Edition - ENU.
If you later install a more recent service pack, this hotfix will be uninstalled automatically.
For more information, visit http:
Hotfix for Microsoft Visual Studio 2008 Professional Edition - ENU (KB953256) KB953256
This hotfix is for Microsoft Visual Studio 2008 Professional Edition - ENU.
If you later install a more recent service pack, this hotfix will be uninstalled automatically.
For more information, visit http:
Microsoft Visual Studio 2008 Professional Edition - ENU Service Pack 1 (KB945140) KB945140
This service pack is for Microsoft Visual Studio 2008 Professional Edition - ENU.
If you later install a more recent service pack, this service pack will be uninstalled automatically.
For more information, visit http:
Microsoft Visual Studio 2008 Professional Edition - ENU Service Pack 1 (KB947888) KB947888
This service pack is for Microsoft Visual Studio 2008 Professional Edition - ENU.
If you later install a more recent service pack, this service pack will be uninstalled automatically.
For more information, visit http:
Update for Microsoft Visual Studio 2008 Professional Edition - ENU (KB956453) KB956453
This update is for Microsoft Visual Studio 2008 Professional Edition - ENU.
If you later install a more recent service pack, this update will be uninstalled automatically.
For more information, visit http:
Update for Microsoft Visual Studio 2008 Professional Edition - ENU (KB967143) KB967143
This update is for Microsoft Visual Studio 2008 Professional Edition - ENU.
If you later install a more recent service pack, this update will be uninstalled automatically.
For more information, visit http:
|
|
|
|
|
|
yes, then any function to get usb drive letter in Windows CE 700 api
|
|
|
|
|
See my other reply below; it seems that Windows CE does not use drive letters.
|
|
|
|
|
|
Hello, I am newbie to C++ and therefore I found the following example and working with it.
A Beginner Tutorial for Writing Simple COM/ATL DLL For VS2012
I like to know how to use this example COM object in VB Script, I like to do it using CreateObject Method.
If it currently doesn't support VB Script, how can I add VB Script support to this DLL?
Thanks for your help.
|
|
|
|
|
|
Thanks, I did it but I got "Could not locate automation class..." in VB Script, but using C# this works fine.
I used it like
Dim Test: Set Test = WScript.CreateObject("SimpleATLComLib.SimpleCom")
Test.TotalMarks = 50
because I don't know how to get automation class name to be used in VB Script from that DLL.
Why this error occurs?
|
|
|
|
|
Sorry, no idea, I have not used VBScript in this way.
|
|
|
|
|
I need to debug an embedded C-application that contains a lot of the following structs:
MyStruct.MySubStruct.MyEnum
I have ported the code into a Visual Studio 2005 console application and I would like to dump all the struct-members (several hundred in total) to a text-file like this:
MyStruct.MySubStruct.MyEnum = MyEnumValue
I know this isn't possible in pure Visual Studio c programming language, but aren't you allowed to include C++ files as well in a Visual Studio console project? If so, is C++ capable of converting struct members and enums into text strings?
|
|
|
|
|
arnold_w wrote: pure Visual Studio c programming language There is no such thing.
And your code above does not make clear what the problem is in sending the struct contents to a text file. Generally speaking you need to write the code to dump each element of the struct. Or you could just run the program in the Visual Studio debugger and examine the fields that way.
|
|
|
|
|
Just like
__FILE__ generates a string with file name and
__LINE__ generates a string with the line number, I would like to have some way of generating strings with the structs' and members' names.
|
|
|
|
|
Those are compiler defined values, and have nothing to do with your question.
|
|
|
|
|
I guess I could use the Visual Studio debugger and use OCR (optical character recognition) on the watch window. Can anybody recommend a good, free OCR application?
|
|
|
|
|
arnold_w wrote: OCR (optical character recognition) on the watch window I'd like to see that work.
|
|
|
|
|
The C and C++ runtime environments do not maintain metadata on the types in your program the way a .NET executable does.
Therefore, I don't see how you would dump the type names, unless you develop a program to process your source code and extract the information that way.
If I'm wrong about this, I invite correction.
The difficult we do right away...
...the impossible takes slightly longer.
|
|
|
|
|
Hi,
Yes, I had to do this many years ago.
However you are not really giving me enough information. You need to be very specific when you ask for help. Do you need to do this on a Release build or Debug build? Do you need to do this at run-time or compile-time?
1.) Preprocessor abuse[^] that stores the variable name in an extra char field in the struct. Here is a partial example[^].
2.) If you are using C++ there are several boost libs[^] that allow you to implement some reflection.
3.) The Debug Interface Access SDK[^] can be used to get all of the structs and member variable names. If you go this route... you will need to generate a PDB.
Best Wishes,
-David Delaune
|
|
|
|
|
Since this a debug tool that only will be used in-house, it doesn't matter if I use release or debug and compile time is fine.
|
|
|
|
|
Hi,
arnold_w wrote: Since this a debug tool
If this is a debug tool I recommend that you check out the Debug Interface Access SDK[^] which will allow you to get all kinds of useful information and statistics about your executable. You can dump each function/class size and type along with the variable name.
Dia2dump Sample[^]
TYPEINFODUMP[^]
Best Wishes,
-David Delaune
|
|
|
|
|
Hi everyone!
I need to "send" data in a notepad every time I write double numbers on edit control and press save. I wrote some code but my dialog (where the edit control is) don't even open when I run the executable. What I've done so far:
void CDataDialog::OnBnClickedSave()
{
CFileDialog dlg(FALSE, L"Text Files (*.txt)|*.txt|Texr Files (*.h)|*.h|", NULL, OFN_OVERWRITEPROMPT, L"Text Files (*.txt)|*.txt|Text Files (*.h)|*.h|");
CStdioFile file;
CString buffer;
CString textfile;
if (dlg.DoModal() == IDOK)
{
file.Open(dlg.GetFileName(), CStdioFile::modeCreate | CStdioFile::modeWrite);
dlg.GetFileName();
file.WriteString(buffer);
file.Close();
}
}
void CDataDialog::OnEnChangeEdit1()
{
UpdateData(TRUE);
}
I think I must write some code here so the dialog box work fine but I can't it.
void CInputView::OnLinefeaturesData()
{
CInputDoc* pDoc = GetDocument();
CDataDialog DialogWindow;
}
|
|
|
|
|
You have to show the dialog after it has been created:
void CInputView::OnLinefeaturesData()
{
CInputDoc* pDoc = GetDocument();
CDataDialog DialogWindow;
DialogWindow.DoModal();
}
|
|
|
|