Click here to Skip to main content
15,888,301 members
Home / Discussions / C / C++ / MFC
   

C / C++ / MFC

 
AnswerRe: Log event message Pin
Chandrasekharan P8-Jan-12 23:38
Chandrasekharan P8-Jan-12 23:38 
QuestionWinSNMP Pin
msr_codeproject8-Jan-12 19:40
msr_codeproject8-Jan-12 19:40 
AnswerRe: WinSNMP Pin
Richard MacCutchan8-Jan-12 22:55
mveRichard MacCutchan8-Jan-12 22:55 
AnswerRe: WinSNMP Pin
S p k 5219-Jan-12 19:16
S p k 5219-Jan-12 19:16 
QuestionCalling via TAPI Pin
Hadi Dayvary7-Jan-12 4:03
professionalHadi Dayvary7-Jan-12 4:03 
Question#pragma data_seg issue - Sharing only works with multiple instances of the same EXE Pin
bcb_guy6-Jan-12 21:00
bcb_guy6-Jan-12 21:00 
AnswerRe: #pragma data_seg issue - Sharing only works with multiple instances of the same EXE Pin
bcb_guy7-Jan-12 10:37
bcb_guy7-Jan-12 10:37 
QuestionDLL global variable question - VC++ 2010 Express - unable to set Pin
bcb_guy6-Jan-12 15:17
bcb_guy6-Jan-12 15:17 
Hey everyone,

I am having difficulties in setting values to global variables in a DLL module. I am using (learning) Visual C++ 2010 Express. I am not exactly sure what I am doing wrong as this works fine with BCB. I have some DLL code written in BCB that I want ported to VC++.

In DLL source code I have this:

C++
__declspec(dllexport) int MyInt = 100;

extern "C"
{
	__declspec(dllexport) void SetMyInt(int NewValue)
	{
		MyInt = NewValue;
	}

	__declspec(dllexport) int GetMyInt()
	{
		return MyInt;
	}
}


In main file:

Button 1 click:
typedef void (*pSetMyInt)(int Value);
HINSTANCE DllHandle = LoadLibraryW(L"file.dll");

if (DllHandle == NULL)
{
    ShowMessage("Handle is NULL");
    return;
}

pSetMyInt pSetInt = (pSetMyInt)GetProcAddress(DllHandle, "SetMyInt");

if (pSetInt == NULL)
{
    ShowMessage("pSetInt is NULL");
    return;
}

pSetInt(89);
FreeLibrary(DllHandle);


Button 2 Click:
typedef int (*pGetMyInt)();
HINSTANCE DllHandle = LoadLibraryW(L"file.dll");

if (DllHandle == NULL)
{
    ShowMessage("NULL");
    return;
}

pGetMyInt pGetInt = (pGetMyInt)GetProcAddress(DllHandle, "GetMyInt");

if (pGetInt == NULL)
{
    ShowMessage("pGetInt is NULL");
    return;
}

int Value = pGetInt();

// Value is still 100 but it should be 89

FreeLibrary(DllHandle);


No matter what I do, the internal variable in the DLL module never gets set. It remains to the default value initialized on the top of my DLL file. This is so simple, how can it not work? I must be doing something wrong.
AnswerRe: DLL global variable question - VC++ 2010 Express - unable to set Pin
«_Superman_»6-Jan-12 15:56
professional«_Superman_»6-Jan-12 15:56 
GeneralRe: DLL global variable question - VC++ 2010 Express - unable to set Pin
bcb_guy6-Jan-12 16:53
bcb_guy6-Jan-12 16:53 
Questionpackage and deployment for VC6 Pin
azhari246-Jan-12 2:41
azhari246-Jan-12 2:41 
AnswerRe: package and deployment for VC6 Pin
Maximilien6-Jan-12 9:23
Maximilien6-Jan-12 9:23 
GeneralRe: package and deployment for VC6 Pin
azhari246-Jan-12 17:27
azhari246-Jan-12 17:27 
AnswerRe: package and deployment for VC6 Pin
jeron16-Jan-12 11:01
jeron16-Jan-12 11:01 
GeneralRe: package and deployment for VC6 Pin
azhari246-Jan-12 17:32
azhari246-Jan-12 17:32 
AnswerRe: package and deployment for VC6 Pin
Andy41113-Jan-12 3:56
Andy41113-Jan-12 3:56 
QuestionWhich IDE you use for development on Linux platforms? Pin
rahul.kulshreshtha5-Jan-12 23:51
rahul.kulshreshtha5-Jan-12 23:51 
AnswerRe: Which IDE you use for development on Linux platforms? Pin
Richard MacCutchan6-Jan-12 0:52
mveRichard MacCutchan6-Jan-12 0:52 
GeneralRe: Which IDE you use for development on Linux platforms? Pin
rahul.kulshreshtha6-Jan-12 1:54
rahul.kulshreshtha6-Jan-12 1:54 
AnswerRe: Which IDE you use for development on Linux platforms? Pin
Nemanja Trifunovic7-Jan-12 12:55
Nemanja Trifunovic7-Jan-12 12:55 
GeneralRe: Which IDE you use for development on Linux platforms? Pin
richard_k9-Jan-12 7:50
richard_k9-Jan-12 7:50 
AnswerRe: Which IDE you use for development on Linux platforms? Pin
richard_k9-Jan-12 7:55
richard_k9-Jan-12 7:55 
JokeRe: Which IDE you use for development on Linux platforms? Pin
Wes Aday10-Jan-12 11:40
professionalWes Aday10-Jan-12 11:40 
GeneralRe: Which IDE you use for development on Linux platforms? Pin
Eytukan11-Jan-12 0:40
Eytukan11-Jan-12 0:40 
Questionhow to use excel automation to join multiple excel file in a single excel file? Pin
Le@rner5-Jan-12 23:49
Le@rner5-Jan-12 23:49 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.