|
Does anyone knows if my program needs to access a function on a dll how to go about doing it?
|
|
|
|
|
HI,
there are two ways of doing it
1. You can link the dll statically, at the compile time and import the functions of the dll. And after that you can use them as any other function calls.
2. Loading the dll explicitley. This allows you to load the dll at the runc time and find the function pointer inside the dll and then invoke the function using the pointer.
Here you have to use WIN32 api
LoadLibrary (..) to load the library
GetProcPtr (...) to get function pointer.
Please refer MSDN or Advanced Windows by Jefry Richer for the above topic. Its described very well there...
Hope this helps you a bit...
Best Regards
Srinidhi Rao.
|
|
|
|
|
HI,
there are two ways of doing it
1. You can link the dll statically, at the compile time and import the functions of the dll. And after that you can use them as any other function calls.
2. Loading the dll explicitley. This allows you to load the dll at the runc time and find the function pointer inside the dll and then invoke the function using the pointer.
Here you have to use WIN32 api
LoadLibrary (..) to load the library
GetProcPtr (...) to get function pointer.
Please refer MSDN or Advanced Windows by Jefry Richer for the above topic. Its described very well there...
Hope this helps you a bit...
Best Regards
Srinidhi Rao.
|
|
|
|
|
Got a request for y'all... I have a copy of MSDN (taken from a server at work, so it's legal) but all the files are in the same directory. I'd like to split them back up into disc 1/2/3 images, so I could burn CDs (yes they would be for my own use).
Thing is, I have no idea how to tell which file belongs on which CD. Anyone know a way to do this? The MSDN viewer itself has to know, because it knows which disc to prompt for when you need to put in a disc.
(Work is real hardass about loaning out CDs, so I can't get to the original CDs. Funny how they do that, but have no problem posting the data on a server. *shrug* )
--Mike--
http://home.inreach.com/mdunn/
"That probably would've sounded more commanding if I wasn't wearing my yummy sushi pajamas."
-- Buffy
|
|
|
|
|
Please someone enlighten me.
how come derived class has smaller size than parent
eg sizeof(CButton) < sizeof(CWnd) ??
|
|
|
|
|
Because there is less code in it ?
Seriously - CButton inherits CWnd functionality, and then adds more. Why would this require CButton to be bigger ? The point of deriving is it doesn't need to contain all the code it instead inherits.
Christian
The content of this post is not necessarily the opinion of my yadda yadda yadda.
To understand recursion, we must first understand recursion.
|
|
|
|
|
Hi
Is there any way i can find out the IRQs attached with a device or how to ennumarate the NIC cards and validate the physical existance of it. Differenting the virtual adapters?
Any kind of input would be great. Got to do it from 9X,NT to 2000.
I found a way to ennumarate USB ports on 2000 DDK
Info on any OS is welcome. or any open sources
Thanks
MRv
|
|
|
|
|
Can anyone give a source code which destroys device independent bitmaps for windows 98? Thanks a lot for helping.
|
|
|
|
|
You mean a DIBSection ? You want to free the memory, or draw over it ?
Christian
The content of this post is not necessarily the opinion of my yadda yadda yadda.
To understand recursion, we must first understand recursion.
|
|
|
|
|
My save dib code is this : first, I create a bitmapfileheader then i write data to the bitmapfileheader .
Here is the actual code // if we have no data , we cannot save
if (m_pDib==NULL)
return(false);
CFile cf;
// attempt to create the file , CFile::modeCreate Directs the constructor to create
//a new file. If the file exists already, it is truncated to 0 length.
//CFile::modeWrite Opens the file for writing only, &= AND assignment
if(!cf.Open(pszFilename,Cfile::modeCreate &= CFile::modeWrite))
return(false);
//write the data
try{
//first create a bitmapfileheader
//with the correct data
BITMAPFILEHEADER BFH;
memset( &BFH,0,sizeof( BITMAPFILEHEADER ));
BFH.bfType ='MB';
BFH.bfSize = sizeof(BITMAPFILEHEADER) + m_dwDibSize;
BFH.bfOffBits = sizeof(BITMAPFILEHEADER) + sizeof(BITMAPINFOHEADER) + m_nPaletteEntries * sizeof(RGBQUAD);
//write the bitmapfileheader and dib data
cf.Write( &BFH , sizeof( BITMAPFILEHEADER ));
cf.Write( m-pDib, m_dwDibSize ));
Then what code should i put to destroy the dib ?
|
|
|
|
|
Why not 'delete m-pDIB' ? I assume it's a pointer ?
Christian
The content of this post is not necessarily the opinion of my yadda yadda yadda.
To understand recursion, we must first understand recursion.
|
|
|
|
|
I get some "Major" problems when I compile in VC++ 6.0 on Win2000?
this is what i get!
Linking...
LINK : error : Internal error during ReadSymbolTable
ExceptionCode = C0000005
ExceptionFlags = 00000000
ExceptionAddress = 78003ABF
NumberParameters = 00000002
ExceptionInformation[ 0] = 00000000
ExceptionInformation[ 1] = 00000000
CONTEXT:
Eax = 4002C874 Esp = 0012E488
Ebx = 00000000 Ebp = 0012E4A0
Ecx = 00000000 Esi = 4002FFC8
Edx = 00000000 Edi = 00000000
Eip = 78003ABF EFlags = 00010246
SegCs = 0000001B SegDs = 00000023
SegSs = 00000023 SegEs = 00000023
SegFs = 00000038 SegGs = 00000000
Dr0 = 0012E488 Dr3 = 00000000
Dr1 = 0012E4A0 Dr6 = 00000000
Dr2 = 00000000 Dr7 = 00000000
Error executing link.exe.
Tool execution canceled by user.
Anny sugestions?
BTW:I did not cancel the execution
|
|
|
|
|
Are you using the latest Visual C++ service pack? (SP4)
I have been using Visual C++ on Win2000 for a year now without any problems.
|
|
|
|
|
Yes I am
Win2k is ghosted with Norton ghost!
I think the problem is ghostrelated??
|
|
|
|
|
I use VC++ with no service pack ( go figure ) on Win2K every day for a year or so. I'd suggest a reinstall, creating an empty project and compiling, checking your includes, etc.
Christian
The content of this post is not necessarily the opinion of my yadda yadda yadda.
To understand recursion, we must first understand recursion.
|
|
|
|
|
Hello,
While trying to create a Singleton using a COleObjectFactory derived class I stepped into the COleObjectFactory::CreateInstanceLic(..) MFC function. In this function the following lines of code are present
sc = pTarget->InternalQueryInterface(&riid, ppvObject);
if (sc == S_OK)
{
dwRef = pTarget->InternalRelease();
ASSERT(dwRef != 0);
}
My question is what is the sense of calling the Internalrelease() function ? As far as I understand it the release should only be called when the client releases the object.
Could anybody explain this to me please?
Richard
|
|
|
|
|
Hi,
i want to call a function defined in an DLL with a FILE * as parameter, but trying to access the file via
this fileponter i get an access violation. Isn't it possible to pass a filepointer to a dll function, or is there
anything else to do before passing this pointer?
TIA, Chris
|
|
|
|
|
I don't know, what kind of dll's function you used, but
maybe you try use CFile class.
|
|
|
|
|
I'm not sure if this is the answer but from experience I do know that the standard library allocates memeory out of a heap. This heap is maintained by the standard library and your application and it's DLL would each maintain separate heaps. A problem will occur if a heap allocation/deallocation occurs when this FILE * pointer is used. Basically you cannot allocate from the heap in the application then attempt to deallocate from the DLL since the DLL assumes that the memory is in its own heap. I would suggest if possible to use file handles and work with the Win32 API instead of the standard library.
|
|
|
|
|
OK, but i dont know exactly, maybe Win32API HFILE == CFile::m_hFile.
I haven't big experience in Win32 development
|
|
|
|
|
Where possible, have both your EXE and DLL(s) use the dynamic run-time libraries (msvcrt.dll)
instead of statocally linking to the C RTL.
|
|
|
|
|
Hi,
Can anybody help me how to use NetMessageBufferSend function
with the following command lines :
c:\WINT\Net.exe send Computer1 "Goog morning"
c:\WINT\Net.exe send * "Good morning"
c:\WINT\Net.exe send /USERS "Good morning"
c:\WINT\Net.exe send /DOMAIN:MyDomain "Good Morning"
Thanks
|
|
|
|
|
Hi, recently i received a source code which saves dib into a file which is Windows 3.0 DIB format, what I need to know is if this source code is suitable for use in win98? If not can , can anyone show me how to save it to win98 format? Thanks a lot.
|
|
|
|
|
When Classwizard is used to create a new class, it always starts the .h file by
// yourHeaderFileName.h : header file
//
and the .cpp file by
// yourHeaderFileName.cpp : implementation file
//
So my question is : is it possible to change this automation and put for example this text instead ?
// *********************************************************
// File : yourHeaderFileName.h
// Author : xxxxxx
// E-Mail : xxxx@xx.com
// Copyright : xxxxxxxxxxxxxxxxxxxx
// Project :
// Version : 0.1
// Created : 11/21/00
// Summary :
// Modified :
// *******************************************************
Thanks for your help
C U
|
|
|
|
|
Maybe. Search the MSDN library for "Custom AppWizard Files".
"MFCAPWZ.DLL contains the code that controls the default behavior of the MFC AppWizard.
It also contains the code that controls the interactions between the MFC AppWizard and any
custom AppWizards you create ..."
|
|
|
|