|
did you get my mail (many days ago)
whitesky
|
|
|
|
|
|
my mail for your site
whitesky
|
|
|
|
|
I think this problem will not be solved unless
1.) The variable is decleared in the cpp and decalared extern in the header
2>) Make the variable static
nave
|
|
|
|
|
maybe but if he shows header files is good
whitesky
|
|
|
|
|
I have done that but error now changed from LNK2005 to LNK2001 . I m using multiply() function as well from dll but error is only regarding the variable multiplier.
Now error turns to be:
Linking...
CheckTestDllDlg.obj : error LNK2001: unresolved external symbol "int multiplier" (?multiplier@@3HA)
Debug/CheckTestDll.exe : fatal error LNK1120: 1 unresolved externals
n this is dll header file
//////////////////////////////////////////// simple.h/////////////////
#include "String.h"
#include <afxwin.h> // MFC core and standard components
#ifndef SIMPLE_H
#define SIMPLE_H
long multiply(long no);
#endif
///////////////////////////////////////////////////////////////////////
this is cpp file of Dll
////////////////////////////////////////////simple.cpp ///////////////////////////////////
#include "stdio.h"
#include "simple.h"
static long multiplier=14L;
long multiply(long no)
{
long retval;
retval = no * multiplier;
st.Format("Reslt is %d",retval);
MessageBox(NULL,st,"I",MB_OK);
return retval;
}
///////////////////////////////////////////////////////////////////////
Cyber Friend
Cyber Friend
|
|
|
|
|
sorry i actually want to answer Cedric Moonen
nave
|
|
|
|
|
Naveen R wrote: sorry i actually want to answer Cedric Moonen
Always quote when you answer somebody. That will avoid such kind of confusion .
Yeah, I know that's why I was asking for more precisions to see how he declared his variable.
Cédric Moonen
Software developer
Charting control
|
|
|
|
|
Declare the variable in your header file as extern and define it in one of your .cpp files of your dll.
Nibu thomas
Software Developer
Faqs by Michael dunn
|
|
|
|
|
I have done that but error now changed from LNK2005 to LNK2001 . I m using multiply() function as well from dll but error is only regarding the variable multiplier.
Now error turns to be:
Linking...
CheckTestDllDlg.obj : error LNK2001: unresolved external symbol "int multiplier" (?multiplier@@3HA)
Debug/CheckTestDll.exe : fatal error LNK1120: 1 unresolved externals
Cyber Friend
|
|
|
|
|
Cyber Friend wrote: Linking...
CheckTestDllDlg.obj : error LNK2001: unresolved external symbol "int multiplier" (?multiplier@@3HA)
Debug/CheckTestDll.exe : fatal error LNK1120: 1 unresolved externals
This is happening because you haven't declared it in the .cpp file...
for e.g.
in yourclass.h
extern UINT multiplier;
in yourclass.cpp or some other .cpp file that is in the project...
UINT multiplier = 0;
Nibu thomas
Software Developer
Faqs by Michael dunn
|
|
|
|
|
Hi Thomas,
I have done that but error now changed from LNK2005 to LNK2001 . I m using multiply() function as well from dll but error is only regarding the variable multiplier.
Now error turns to be:
Linking...
CheckTestDllDlg.obj : error LNK2001: unresolved external symbol "int multiplier" (?multiplier@@3HA)
Debug/CheckTestDll.exe : fatal error LNK1120: 1 unresolved externals
n this is dll header file
//////////////////////////////////////////// simple.h/////////////////
#include "String.h"
#include // MFC core and standard components
#ifndef SIMPLE_H
#define SIMPLE_H
long multiply(long no);
#endif
///////////////////////////////////////////////////////////////////////
this is cpp file of Dll
////////////////////////////////////////////simple.cpp ///////////////////////////////////
#include "stdio.h"
#include "simple.h"
static long multiplier=14L;
long multiply(long no)
{
long retval;
retval = no * multiplier;
st.Format("Reslt is %d",retval);
MessageBox(NULL,st,"I",MB_OK);
return retval;
}
///////////////////////////////////////////////////////////////////////
n i m using this variable in other application first defining above the class header file like this
extern long multiplier;
n then in one of class function i m using this variable.
Cyber Friend
|
|
|
|
|
Whats the possibility to set some text to the memory and read the same text after a while but in the same process. If it is possible how can i accoplish this please explain me in detial.
I have tried with memset() and etc., but i couldnt see the desired output.
|
|
|
|
|
sivaprakashshanmugam wrote: Whats the possibility to set some text to the memory and read the same text after a while but in the same process. If it is possible how can i accoplish this please explain me in detial.
if i am not wrong , are you trying to keep the persistantancy of the data
if then try to use the static for persistancy.
Knock out 't' from can't,
You can if you think you can
|
|
|
|
|
Actually i am reading some text from file so it will be a stream of Bytes, i need to send bytes to MFC Activex control and i need to read it. I have tried in many ways but i couldnt so i am thought going this method. Do you have solution for this.
|
|
|
|
|
sivaprakashshanmugam wrote: Actually i am reading some text from file so it will be a stream of Bytes, i need to send bytes to MFC Activex control and i need to read it. I have tried in many ways but i couldnt so i am thought going this method. Do you have solution for this.
See,
You can read the file in text format you will get char string...
Convert that string into BSTR using ConvertStringToBSTR() function and
simply pass this bstr string to ActiveX control.
if you wanna a reflection on the BSTR then pass the pointer of it.
Another way is create the property of an Activex and set the string data to it read from file.
hope this helps you.
Knock out 't' from can't,
You can if you think you can
-- modified at 7:16 Friday 19th May, 2006
|
|
|
|
|
BYTE* p = NULL;<br />
<br />
BYTE* ReadFileIntoBuffer(...)<br />
{<br />
if(!p) { p = new BYTE[file_size]; }<br />
}<br />
<br />
bool PassToActiveXCtrl(...)<br />
{<br />
return ctrl.Input(p, file_size);<br />
}
Maxwell Chen
|
|
|
|
|
This is the method that i have used to transfer data between two different processes in one of my projects.
//In one Process(server)
<br />
HGLOBAL hMem;<br />
hMem = GlobalAlloc(0, (800*sizeof(char)));<br />
if(NULL == hMem)<br />
return;<br />
char* szVal = (char*) GlobalLock(hMem);<br />
<br />
memcpy(szVal, buffer, 800);<br />
if(!OpenClipboard(NULL))<br />
return;<br />
if(!EmptyClipboard())<br />
return;<br />
HANDLE hData = SetClipboardData(CF_TEXT , hMem);<br />
if(NULL == hData)<br />
return;<br />
if(!CloseClipboard())<br />
return;<br />
if(!GlobalUnlock(hMem))<br />
return;
//In the Second Process(Client)
if(!IsClipboardFormatAvailable(CF_TEXT))<br />
return -1;<br />
OpenClipboard(NULL);<br />
hgbl = GetClipboardData(CF_TEXT);<br />
char* szVal = (char*) GlobalLock(hgbl);<br />
char chScriptData[128];<br />
<br />
GlobalUnlock(hgbl);<br />
CloseClipboard();
Appu..
"If you judge people, you have no time to love them."
|
|
|
|
|
I am displaying an image using dib class . now i wish to flip my image horizontally as well as vertically
::StretchDIBits(pDC->m_hDC, // hDC
lpDCRect->left, // DestX
lpDCRect->top, // DestY
RECTWIDTH(lpDCRect), // nDestWidth
RECTHEIGHT(lpDCRect), // nDestHeight
lpDIBRect->left, // SrcX
lpDIBRect->top, // SrcY
m_pBMI->bmiHeader.biWidth,//RECTWIDTH(lpDIBRect), // wSrcWidth
RECTHEIGHT(lpDIBRect), // wSrcHeight
m_pBits, // lpBits
m_pBMI, // lpBitsInfo
DIB_RGB_COLORS, // wUsage
SRCCOPY); // dwROP
As per MSDN Documents i am changing the sign also but i am unable to get th desird result
Please if someone could help me out
I am new to vc++
-- modified at 6:26 Friday 19th May, 2006
|
|
|
|
|
have u tried this flag in your code?
DSTINVERT
-Sarath
|
|
|
|
|
No this is not helping by doing this i can see only the black box in the destination
|
|
|
|
|
|
Thanks a lot this solved my problem
|
|
|
|
|
|
I need to perform some IO routines (C programming under linux) and I realised many of these routines are in the file io.h but i do not know where could I get a copy of this file. I know that this file is free for distribution (The open source verison is free). Where do I get to download this header file? Any help or pointers in this direction is highly appreciated.
Regards,
Rajesh R. Subramanian
You have an apple and me too. We exchange those and We have an apple each.
You have an idea and me too. We exchange those and We have two ideas each.
-- Moved by Ed. at 9:33 Friday 19th May, 2006
|
|
|
|