|
You can get struct and class layouts to match by using the appropriate #pragma s, but I agree that picking one compiler is probably the best choice.
Steve
|
|
|
|
|
Hi
I want to imort dll through dynamic link in vc++ 6.0.
I know static link dll, giving the lib file in
projects->setting->link->lib path and Store the dll file in system directory. And by using “using namespace “ we can access
all the function in the dll automatically.
Now I want to know how to link dll dynamically. There are some example in google search, even I could not understand that. If you give any suggestion (step by step)or any simple example ,its very useful for me.
Regards
shakumar
shakumar
modified on Thursday, May 22, 2008 5:21 AM
|
|
|
|
|
DLLs are simple - Part 1 to 4[^]
See the DLLs and Assemblies section in this page by Hans Dietrich[^]
Also, see DLLs and Assemblies[^] under general programming.
Additionally, read in MSDN about LoadLibrary(), GetProcAddress().
Nobody can give you wiser advice than yourself. - Cicero
.·´¯`·->Rajesh<-·´¯`·.
Codeproject.com: Visual C++ MVP
|
|
|
|
|
Dll's are always dynamically linked (dll stands for dynamic link library). So what's your question exactly ? Why don't you want to use the static lib provided with the dll ? (BTW this doesn't contain the code of the dll but only information about how to load the dll, basically).
You can also use LoadLibrary to load the dll and then use GetProcAddress to retrieve the address of a specific exported function of your dll. But this is a bit more complex. The main advantage is that you can handle the error when the dll is missing the way you want (and not simply have an error message saying that the dll is missing and then exit the program).
|
|
|
|
|
Thanks for your reply
As i said above ,in my programme I used shell32.dll, I import the dll through project->setting->link->giving lib path ”shell.lib”. it automatically(ctl+tab) it give the function “SHFILEOPSTRUCT.”
I want to load dll at runtime ,ie: giving the path of the dll through the code.
My doubt was when I loading dll at run time , how can I access the function from dll because at run time only dll will import, so we cannot know what are the function is available in dll. Will all the dll can import(dynamic) like this.
It may be simple for u, for me it is not understand, so give u’r suggestion.
Regards
shakumar
shakumar
|
|
|
|
|
shakumar_22 wrote: I want to load dll at runtime
It WILL be loaded at runtime. That's the purpose of the dll. As I said in my previous post, it's not because you link against shell32.lib that you are statically linking. The lib file only contains information about the way to load your dll but your dll will still be loaded at runtime.
The only thing you have to make sure is that in your project settings, you choose the runtime library as a dll: (for VC2005) open your project properties -> C/C++ entry -> "Code generation" -> "Runtime Library" and there select "Multi-threaded Debug Dll" (or "Multi-threaded Dll" if you are in release mode).
|
|
|
|
|
I think he is looking for ways to load the DLL from his program, without the help of a .lib file. That's what I understand. CPMRU is charged, you see.
[add] May I know why is this post down-voted. I'll appreciate any feedback. [/add]
Nobody can give you wiser advice than yourself. - Cicero
.·´¯`·->Rajesh<-·´¯`·.
Codeproject.com: Visual C++ MVP
modified on Thursday, May 22, 2008 4:49 AM
|
|
|
|
|
Yes I got that but for what reason exactly ? I honnestly it will only make things much more complex with no added value in this case. He is talking about a windows dll for which I don't see any reason why you would load it explicitely. (and I also already gave him an answer if he really wants to do load it explicitely in my first post ).
|
|
|
|
|
Cedric Moonen wrote: Yes I got that but for what reason exactly ?
May be just to explore and learn the other ways of loading a DLL?! I had to always load DLLs the LoadLibrary() way when I was working for my first employer. They had a bunch of third party DLLs to use in the project, and no corresponding .lib files. There might be a similar situation. Could be anything. But just keep the CPMRU handy, just in case.
Nobody can give you wiser advice than yourself. - Cicero
.·´¯`·->Rajesh<-·´¯`·.
Codeproject.com: Visual C++ MVP
|
|
|
|
|
typedef DWORD (*GETNGLYPHS)(HDC hdc,LPCTSTR lpstr,int c,LPWORD pgi,DWORD fl);
GETNGLYPHS GetGlyphIndices =
(GETNGLYPHS)GetProcAddress(LoadLibrary("gdi32.dll"), "GetGlyphIndicesA");
.
.
.
GetGlyphIndices(hdc,save_chrs,sg_cnt,save_glyphs,1);
|
|
|
|
|
Force Code wrote: typedef DWORD (*GETNGLYPHS)(HDC hdc,LPCTSTR lpstr,int c,LPWORD pgi,DWORD fl);
generic Text data type and linking to ANSI version API.
Force Code wrote: (GETNGLYPHS)GetProcAddress(LoadLibrary("gdi32.dll"), "GetGlyphIndicesA");
can cause problem if unicode build.
|
|
|
|
|
how to restrict textbox so that it takes input only between
given numbers i.e. 1-100
Rajesh
|
|
|
|
|
Why you dont set Min/Max value for editbox?
After set these parameters you will be have this line:
DDV_MinMaxInt(pDX, m_Test, 0, 100);
|
|
|
|
|
how can I do I could not found any funtion or property of edit control to set these value .
Rajesh
|
|
|
|
|
check it in DoDataExchange Function
DDX_Control(pDX,IDC_EDIT,m_Test);
u can find something like this(example). just after this put the below written code.
DDV_MinMaxInt(pDX, m_Test, 0, 100);
|
|
|
|
|
You must be right click on the control and select Add variable and then set Category to Value now you can set Min/Max values.
|
|
|
|
|
|
rajeshgupta1253 wrote: how to restrict textbox so that it takes input only between
given numbers i.e. 1-100
Spin button control[^] exists for this purpose.
Nobody can give you wiser advice than yourself. - Cicero
.·´¯`·->Rajesh<-·´¯`·.
Codeproject.com: Visual C++ MVP
|
|
|
|
|
my requirement is edit box not spin control
Rajesh
|
|
|
|
|
What you want is not what you need.
Is there a reason why you would want to use the edit control only?
Nobody can give you wiser advice than yourself. - Cicero
.·´¯`·->Rajesh<-·´¯`·.
Codeproject.com: Visual C++ MVP
|
|
|
|
|
Are you using MFC? Do you want the numbers validated as they are typed, when the edit control loses focus, or when the OK button is clicked?
"Love people and use things, not love things and use people." - Unknown
"To have a respect for ourselves guides our morals; to have deference for others governs our manners." - Laurence Sterne
|
|
|
|
|
i am using SMTP mail in my application. i would like to send a mail to others without "From Email:" address. i.ei want to send a mail from application as warning to the customer to the email id given by him..
|
|
|
|
|
Have you seen here.
"Love people and use things, not love things and use people." - Unknown
"To have a respect for ourselves guides our morals; to have deference for others governs our manners." - Laurence Sterne
|
|
|
|
|
I have developed C# web service.
Client Applications are developed in
VB.Net ,
VC++.net (unmanaged code )
VC++ 6.0 (win32 console Application)
All client applications able to connect and call the webservice except Vc++ 6.0 client.
VC++ 6.0 Console client is using Soap methods by calling mssoap30.dll and msxml4.dll
I am always getting soap error.
Please provide a solution for this.
|
|
|
|
|
hi....
I am reading a mails and getting a mailCount of different users..Now i want a total count of all users plz help me..
I am trying this
////////////////////////////////////////////////
CString MailCount;
MailCount.Format("Mails are %d",linfo->ACL_STMAIL[0].iMBUserMailCount);
AfxMessageBox(MailCount);
/////////////////////////////////////////
I am getting output as...MailCount is count of mails for different users
23
12
4
5.
I am not getting the total...result
manju
Hi..
I am Mnaju.I have Completed my B.E Computers Science.Lokking for a job.I am interested in VC++
manju
|
|
|
|