|
Hi,
Strange problem... I've constructed a dll (mfc extention) with VC++ 6.0 for another application that use it.
The project of this DLL use 2 files added:
ExportFile.h and ExportFile.cpp
where we can found for ExportFile.h:
#ifndef __EXPORTFILE_H_
#define __EXPORTFILE_H_
#define DLLEXPORT _declspec(dllexport)
typdef struct {
BYTE member1;
BYTE member2;
} TCHA_DIG;
DLLEXPORT DWORD Init(TCHA_DIG* channel);
DLLEXPORT void StartAcquisition(TCHA_DIG channel);
#endif
And for ExportFile.cpp
#include "stdafx.h"
#include "ExportFile.h"
DWORD Init(TCHA_DIG* channel)
{
return 0;
}
Ther's no error and no linking problem when I compile this project
The application (which use this DLL) use the file MyProject.lib and ExportFile.h well (the settings are good).
The problem is as follows:
when I start the application (which use the DLL) a message box tell me
"The entry point for ?StartAcquisition@@YAXPAUTCHA_DIG@@@Z procedure was not found in the Dynamic Linking Library MyDLL.DLL"
But, the most strange is that all is OK on my OTHER PC...(the 2 PC work with win2k and VC++ 6.0)
Please help me... thanks in advance...
Hello World!!!
from Raphaël
|
|
|
|
|
Maybe (and if thats not the case I apologize), but maybe you have at the Application directory an older version of the Dll you once developed. check if the app is looking for the right dll and the right lib.
Guy.
|
|
|
|
|
Of course... Thanks for this answer...
Hello World!!!
from Raphaël
|
|
|
|
|
As far as I know, if You put function declaration in the .h file, but don't place it's definition in a .cpp file the likner and the compiler will not report any error unless You try to use this function somewhere.
I assume You have the code for StartAcquisition in Your .cpp file (at least an empty function) ?
If yes, then I'm surprized with that "no entry point" too.
Railgun is like a Gilette Mach 3 - it does the job with one, easy stroke.
|
|
|
|
|
The problem comes owing to the fact that I left an old version of this DLL.
Moreover, I used the new lib file generate (and the old dll)...
Thanks nevertheless...
Hello World!!!
from Raphaël
|
|
|
|
|
Use extern "C" :
extern "C"
{
DLLEXPORT DWORD Init(TCHA_DIG* channel);
//[... other DLLEXPORT...]
DLLEXPORT void StartAcquisition(TCHA_DIG channel);
}
|
|
|
|
|
I often heard about this syntax but which are its advantages???
I observed with this syntax another arrangement of the *.lib file... Why???
Thanks...
Hello World!!!
from Raphaël
|
|
|
|
|
how can i store 30 digits number in an int variable. if it is possible, then plz help me regarding this problem.
|
|
|
|
|
|
how to use that (__int64), it's not a data type, plz reply
|
|
|
|
|
|
No, __int64 is a native (but non-standard) datatype available in VC6 as well.
Tomasz Sowinski -- http://www.shooltz.com
- It's for protection - Protection from what? Zee Germans?
|
|
|
|
|
|
Nishant S wrote:
You'll need the new Platform SDK or VC++.NET
Sure?
I use it since good old Visual C++ 4.x day...
--
Daniel Lohmann
http://www.losoft.de
|
|
|
|
|
|
Do you actually need to do mathematical operations on this number, or is it just to store it. If you just need to store, then you could put it in a string or char array
--
Help me! I'm turning into a grapefruit!
|
|
|
|
|
Do you want to store a telephone number or similar why don´t you use a string or as mentioned a selfwritten class, where you can define some operations as comparesion.
Have a lot of fun
|
|
|
|
|
Damn that is a big number.
|
|
|
|
|
Hi,
I cant understand this: in my program, I have to support multi-language resources. So I did DLL for each language I need to support. The resources ID are the same in every DLL, only the content vary. But I cant understand, why does my program load dialogs from DLL, if I this DLL only link from LoadLibrary. The same case is with menus and toolbars...How can the program recognize which library to use ?
Celebrate Mr. Cesilko!
|
|
|
|
|
All resource-related functions (DialogBox, LoadString, etc...) in Win32 api use HINSTANCE parameter. You need to load your .dll with LoadLibrary[Ex], store the return value and pass the handle to resource functions.
If you're using MFC, AfxSetResourceHandle takes care of passing instance handle to Win32 api. In fact, MFC searches resources through so-called resource chain. You can have common resources in .exe and language-dependent in .dlls.
Tomasz Sowinski -- http://www.shooltz.com
- It's for protection - Protection from what? Zee Germans?
|
|
|
|
|
Hi,
I have a property sheet embeded inside a form view and I would like to validate the controls on an individual property page before the selected page changes.
I have tried to handle this in OnKillActive but this gets called when other controls on the formview are selected. I only whant to validate on a page change.
Has anyone got any ideas
Cheers,
Will
|
|
|
|
|
Hi,
I have this problem: My program has to find out, if ip address of currently connected client (my program figures as server) is equal to one from defined regular expressions. These expressions can look like this: 195.200.69.*
195.200.?5?.85
195.*.56.56-59 (interval)
Dont you know how to solve this (I think rather logical problem) as elegant as possible. Maybe there is already some class to represent work with regular expressions, but I must support *, ? and - wildcards. Will anybody help please ?
Any suggestion will be appreciated.
Celebrate Mr. Cesilko!
|
|
|
|
|
how can i use a switch structure to compare words? (since switch does not work with CString, char* or char[])
Any help would be appreciated
|
|
|
|
|
seeing as switch does not work with CString, char*, or char[], you can't. You'll need to do what the compiler does internally in any case, a string of if else statements.
Christian
come on all you MS suckups, defend your sugar-daddy now. - Chris Losinger - 11/07/2002
|
|
|
|
|
Christian Graus wrote:
You'll need to do what the compiler does internally in any case, a string of if else statements.
'String of if eles statements' isn't always used. Compiler can build a lookup table with addresses of code fragments to execute appropriate 'case'.
Tomasz Sowinski -- http://www.shooltz.com
- It's for protection - Protection from what? Zee Germans?
|
|
|
|