|
Hi!
Does anyone know why would an extension DLL not load when using the following code?
if ( AfxLoadLibrary( "MyDLL.dll" ) == NULL )
AfxMessageBox( "Error loading library." );
So, MyDLL.dll is an extension DLL. AfxLoadLibrary always returns NULL, even though the calling process and MyDLL.dll are in the same directory.
Any help will be greatly appreciated!
Thanks in advance!
|
|
|
|
|
What does your DllMain look like in the extension DLL? Is initialization failing there?
The app and the DLL are using the DLL version of MFC, correct?
Mark
|
|
|
|
|
This is how my DllMain looks like:
extern "C" int APIENTRY
DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID lpReserved)
{
UNREFERENCED_PARAMETER(lpReserved);
if (dwReason == DLL_PROCESS_ATTACH)
{
TRACE0("MYDLL.DLL Initializing!\n");
if (!AfxInitExtensionModule(MyDLL, hInstance))
return 0;
new CDynLinkLibrary(MyDLL);
}
else if (dwReason == DLL_PROCESS_DETACH)
{
TRACE0("MYDLL.DLL Terminating!\n");
AfxTermExtensionModule(MyDLL);
}
return 1;
}
I even put these lines of code right at the begining of DllMain:
CFile log;
log.Open( "log.001", CFile::modeCreate | CFile::modeWrite, NULL );
log.Write( "@", 1 );
log.Close( );
I ran the program using the new version of mydll.dll and NO log.001 was created.
So DllMain does not get executed.
|
|
|
|
|
You shouldn't need to write a log file. "MYDLL.DLL Initializing!" should show up in your debug
output window. You could put a breakpoint in there as well.
It's a mystery Have you tried David Crow's suggestion?
|
|
|
|
|
Problem solved!!!!!!!!!!
MyDLL.dll was using another dll which did not exist.
Thank you for your time!
|
|
|
|
|
Eikthrynir wrote: MyDLL.dll was using another dll which did not exist.
Cool
|
|
|
|
|
Eikthrynir wrote: ...even though the calling process and MyDLL.dll are in the same directory.
Just for grins, try specifying an absolute path to mydll.dll .
Is your app multithreaded?
"Approved Workmen Are Not Ashamed" - 2 Timothy 2:15
"Judge not by the eye but by the heart." - Native American Proverb
|
|
|
|
|
I am building a client server application (socket based) in which i have to transfer data between different systems (different harware and operating systems). After some survery I have found that XDR is a library which provides data potability amoung various operating systems (windows/unix) but i cant found any resource/example to use XDR in VC6. Please provide a link/etc of XDR or any other free library that provides reliable cross plateform communication and dataportability using VC6, on the other side (unix) simple c++ will be used.
|
|
|
|
|
Dear All,
My service program is not able to interact with desktops. Why ?
Can any one answer this ?
Thanks.
|
|
|
|
|
Sakthiu wrote: My service program is not able to interact with desktops. Why ?
Have you configured it to do so?
"Approved Workmen Are Not Ashamed" - 2 Timothy 2:15
"Judge not by the eye but by the heart." - Native American Proverb
|
|
|
|
|
I am using list control (report view)
in windows List control headers contain a triangle shape which moves its direction when we click on the respective header showing sort order how can this delta be inserted in header?
An other query please
Is it possible to have multiple lines in an item or subitem of list control?
I would be extremly thankful for providing the solutions to above problems.
|
|
|
|
|
pc_dev wrote: in windows List control headers contain a triangle shape which moves its direction when we click on the respective header showing sort order how can this delta be inserted in header?
It's not built-in to the control but you can owner-draw the header and add one yourself.
Mark
|
|
|
|
|
Not sure but I did this in the past and maybe did it with an image rather than owner draw.
led mike
|
|
|
|
|
You can put images in column headers? I'm going to look into that. I need something similar
Thanks man,
Mark
|
|
|
|
|
Yes found the old project. Used a ImageList and then:
HDITEM hItem;
ZeroMemory( &hItem, sizeof(hItem));
hItem.mask = HDI_IMAGE | HDI_FORMAT;
_pList->GetHeaderCtrl()->GetItem( nCol, &hItem);
hItem.iImage = nImg;
hItem.fmt = HDF_LEFT | HDF_IMAGE | HDF_STRING | HDF_BITMAP_ON_RIGHT;
led mike
|
|
|
|
|
Cool! Thank you!
It's as easy as tab controls
|
|
|
|
|
pc_dev wrote: how can this delta be inserted in header?
See this[^] article.
pc_dev wrote: Is it possible to have multiple lines in an item or subitem of list control?
See this[^] article.
/ravi
|
|
|
|
|
This feature is built-in to commctrl v6, see here for sample code: clickety[^]
|
|
|
|
|
Hello.
I hope that I am using the right place to post.
I am using a file format with a simple file myfile.x and a corresponding data directory with multiples files under.
I want to link my .x file to the directory.
Like Internet Explorer do when I save an html file to disk : it create an html file and a data directory aside. If anybody delete the file : it also delete the directory.
Do anybody known a way to do that ?
(I am under Visual C++ 6)
(With CopyHookHandlers?)
Thanks for your help.
Kcm.
|
|
|
|
|
I have a grid window with one row is a multiline edit field. This row is a class derived from CEdit. The vertical scroll bar is enabled. The field is initialize with a long string. The first tiem the mouse clicked on this field, the field displays the string properly with the line wrap and the vertical scroll shown and active. The second time the mouse focus is back to this CEdit field, the field lock up, no scroll bar is visible. The grid is derived from Stingray's Objective Grid library 7.01
The lock up only happy when running the code in Release mode. If I step through or run the program in debug the problem does not occur.
Does anyone know of a similar problem and how to fix this? Thanks in advance
|
|
|
|
|
A Program in debug or release build must work similarly. once i had a similar problem, i delivered the debug version because it was behaving accordingly. it has nothing to do with grids or any thing else, it looks like VC6 bug (i think).
|
|
|
|
|
|
Thanks. Your answers gave me idea to build the Release version with /D _DEBUG instead of /D NDEBUG. Looks like it solves my problem.
Before, I suspected that optimization had something to do with the problem. I tried turn off optimization but it did not work.
Thanks for all your replies. I am grateful.
|
|
|
|
|
|
tieng86 wrote: Your answers gave me idea to build the Release version with /D _DEBUG instead of /D NDEBUG. Looks like it solves my problem.
Sorry to hijack the thread, but that just masks the problem, it's not a solution.
If just changing that define (/D) fixes it then maybe you've just improperly used the debugging
macros (like ASSERT).
|
|
|
|