|
kiran.pinjarla wrote: "THE APPLICATION FAILED TO START SINCE ATHE one.dll IS NOT FOUND. REINSTALLING THE APPLICATION MAY FIX THE PROBLEM"
This must not be using CAPS, for sure.
You must be be implicitely linking that dll, too. If you are using LoadLibrary , its not needed.
You need to use either of them.
|
|
|
|
|
prasad_som wrote: You must be be implicitely linking that dll
no iam not.I am only using LoadLibrary() to load.
KIRAN PINJARLA
|
|
|
|
|
kiran.pinjarla wrote: No I am not
Yes you are. From your first post:
kiran.pinjarla wrote: I have specified lib fiel of that dll in the tools->project settings->link tab
That means implicitely linking to the dll. Remove that and all should be ok.
-- modified at 6:48 Thursday 24th August, 2006
|
|
|
|
|
Cedric Moonen wrote: Remove that and all should be ok.
I removed it. It showing Unresolved symbols error now.
KIRAN PINJARLA
|
|
|
|
|
kiran.pinjarla wrote: It showing Unresolved symbols error now.
Please when asking a question be more explicit and detail your problem.
Did you include header files coming from the library ? Where some classes are defined ? If yes, you need to remove them.
When using explicit linking to a dll, you don't include anything (lib, headers, ...) in your project. You just call LoadLibrary and GetProcAddress with the name of the function you want to retrieve. And that'is.
|
|
|
|
|
Thnak you for ur reply.
I am not exporting a function in my dll. I am exporting a class and I am instantialing it in the client application.
if((h = LoadLibrary("..\\Output\\DllOne.dll")) == NULL)<br />
{<br />
AfxMessageBox("Failed To Load Library");<br />
return;<br />
}<br />
COne one;<br />
one.ShowMsg();<br />
FreeLibrary(h);
If i remove the header file its showing an error.
error C2065: 'COne' : undeclared identifier
How to proceed.
KIRAN PINJARLA
|
|
|
|
|
You cannot export a class explicitely (or at least not that way). Why do you want to load the dll explicitely ? Just load it implicitely (put the lib in the project settings like you did and add the header and source file of your class to your project). And that's it. Do you have the source file of your class ?
|
|
|
|
|
I think COne you mentioned earlier is exported class.
Let implicit linking be there, and you can use it directly,but make sure dll is in projects directory,or windows directory, where it can be searched by system.
And before posting make sure , you read this throughly .
|
|
|
|
|
prasad_som wrote: Let implicit linking be there,
Is it not possible to instantiate the imported class and callin its functions with explicit linking?
KIRAN PINJARLA
|
|
|
|
|
No (as I already said before). When you load a dll explicitely, you first 'load' the dll with LoadLibrary but that doesn't imply anything. You have just loaded the dll in memory, next you need to retrieve the address of a function by calling GetProcAddress so that you can call a function from inside your dll. See, how are you gonna 'get' your class that way ??
Why don't you simply go with implicit linking ? It is much more easier to do and everything is managed for you. What is the problem there ?
|
|
|
|
|
You can't export a class directly, you can can make a wrapper to do a similar thing. Inside the dll you would need to instead export a function which would initialise the class for you and return a pointer to it.
|
|
|
|
|
waldermort wrote: instead export a function which would initialise the class for you and return a pointer to it
Thank you so much. This is the solution for which i have been asking for.
One again thank you waldermort.
KIRAN PINJARLA
|
|
|
|
|
Ok i did it and got the pointer of the class form dll exported function.
Now how to call the member functions of that class?
Note: we are linking the dll by LoadLibrary(explicitly) only.
KIRAN PINJARLA
|
|
|
|
|
you asked this 3 hours ago here[^]
|
|
|
|
|
But nobody answered.
KIRAN PINJARLA
|
|
|
|
|
Come online
at fitiyal@yahoo.com
|
|
|
|
|
kiran.pinjarla wrote: But nobody answered.
i did !
moreover, you are on a forum, not a chat... 3h is not an acceptable time span to repost a question.
|
|
|
|
|
and in this forum we have toxcct
|
|
|
|
|
I am sorry. I wont repeat this agiain.
KIRAN PINJARLA
|
|
|
|
|
kiran.pinjarla wrote: I wont repeat this agiain
not what i meant, but we have some rules to respect (everybody here, even me) dicted by the webmaster here[^].
nevermind.
|
|
|
|
|
All,
I am working on ATL COM DLL and I am writing a DLL which exposes few interfaces to the application. These interfces can be called either from the VBScript or C++ routine. Any rules which i need to follow especially for having a parameter[[IN], [OUT]. As every one knows that VBScript has data type limitations and we can't pass all the parameters as like in normal. For example the IN and OUT parameter will be used to send and receive values from the interfce and should always be having a VARIANT* data type.
For example:
1. STDMETHODIMP CXX::FUNC_XX( BYTE bnl,BYTE bCurrCl,VARIANT* vSData,BOOL boFlag, SHORT *pRetVal)
2. STDMETHODIMP CXXX::FUNC1_XXX(VARIANT* vReconfig,SHORT *pRetVal)
Please let me know if any one is having suggestions or sample ATL COM DLL which can be called from VBScript.
Thanks,
AKS
|
|
|
|
|
hi aks,
Variant are used for Automation, so after creating the ATL Dll just compile that DLL.
and create an instance of the Dll in VBScript. and pass the the Arugments from the VBScript.
VARIANT is used for that purpose only it is used for Purely Automation Purpose.
good luck.
Uday kiran
|
|
|
|
|
im using VisualStudio2005 and everytime i hit F5 to compile VS is compiling all files for the project instead of just the files i have modified! - has anyone come across this before?
I was thinking that some where alongthe lines a file like stdafx.h was getting modified causing
the knock on effect to compile the whole project but i am not changing this or similar files!
|
|
|
|
|
The usual cause for that situation is one of your files (or a header file in your include path) has had its last-modified timestamp changed to a date in the future.
--Mike--
Visual C++ MVP
LINKS~! Ericahist | PimpFish | CP SearchBar v3.0 | C++ Forum FAQ
|
|
|
|
|
hmmmm.... i guess what i need is a a utility where you can watch a directory and see if any files change! - Then i could point it at my project files
|
|
|
|