|
I built a dll with a simple function in it.
the question is:when i call the function using static linking,no error occur.
but when using dynamic linking,after the function execute complete,an error alway ocurred?
WHY?
the relative code is:
(1)with the dll project:
#include "math.h"
extern "C" __declspec(dllexport) double SquareRoot(double d)
{
CString strText;
if(d>=0.0)
{
strText.Format("%f",sqrt(d));
AfxMessageBox(strText);
return sqrt(d);
}
return 0.0;
}
(2)within the caller project:
*.h:
typedef double (WINAPI *TCSV2DVS)(double);
HINSTANCE m_hInstance;
TCSV2DVS FCSV2DVS;
*.cpp:
void CCallerDlg::OnButtonConvert()
{
m_hInstance = ::LoadLibrary("C:\\DLL\\CsvDvs\\Debug\\CsvDvs.dll");
if (m_hCsvDvs == NULL) {
AfxMessageBox("Load CsvDvs.dll error!");
}
FCSV2DVS = (TCSV2DVS)::GetProcAddress(m_hCsvDvs,"SquareRoot");
double ret = FCSV2DVS(9.0);
::FreeLibrary(m_hInstance);
}
Thanks advance.
(sorry for my poor english)
|
|
|
|
|
I guess the problem has to do with this two lines:
extern "C" __declspec(dllexport) double SquareRoot(double d) and
typedef double (WINAPI *TCSV2DVS)(double); Either include the WINAPI specifier in the first line or remove it from the second.
Joaquín M López Muñoz
Telefónica, Investigación y Desarrollo
|
|
|
|
|
It does work!
Thanks a lot.
|
|
|
|
|
Is it possible to use 24bit BMP when creating a DirectDraw game?
------------------------------
©0d3 ©®4©k3® - That's me!
------------------------------
|
|
|
|
|
Well it depends on your graphics card, but yes DirectDraw will support 24bit graphics. Look at IDirectDraw4::SetDisplayMode
Michael
|
|
|
|
|
Hi,
Selection of an item in my tree control does not always work, how come??
What is funny is that the item(s) which can't be selected are always located from the fifth visible item to the 9th item. If I scroll the visible items, the ones which I couldn't select become selectable, and other become unselectable.
The unselectable items can however be selected by clicking on the left side of their icon... but clicking on the right side or onto the text won't work
Keyboard selection always work.
Does someone have a clue what is happening??
Thanks
|
|
|
|
|
Does it have this problem just on your computer?
Or on every box it's run on?
Nish
Sonork ID 100.9786 voidmain
www.busterboy.org
If you don't find me on CP, I'll be at Bob's HungOut
|
|
|
|
|
I found the problem... and I'm ashame!
There was another tree control hidden under the first one!
Thanks anyway
|
|
|
|
|
I am trying to use an ownerdraw combo box (the same happens with list boxes) WITHOUT the CBS_HASSTRINGS style set. I am wanting to store data (an int between 0 and 100), and because of the owner draw, I don't want to include a String to display. In all previous versions of windows I could call AddString((LPCTSTR) iMyVal), and because the control doesn't have CBS_HASSTRINGS, I could then get this value back through the item data.
I have a problem however on WinXP, with the common ctrl v6. It will not accept an item with a value of 0. I can understand that if I had the "CBS_HASSTRINGS" flag set, a pointer of NULL is to be avoided, but in this case it is quite valid.
Has anyone else encountered this problem? Does anyone know of a work around? I don't want to rewrite the code (it could take weeks!!) to work on 1 to 101 instead.
|
|
|
|
|
Hello,
I am trying to make a simple MDI (html browser). When I input the url and try to get the active MDI page to navigate to the specified url it crashes.. here is the simple line of code that is crashing my app.
((CHtmlView*)GetActiveView())->Navigate2(_T(strAddress),NULL,NULL);
I have tried MDIGetActive, GetActiveView and GetActiveDocument..
Any ideas?
Thanks,
Rob
|
|
|
|
|
MDIGetActive gets you the active MDI child-frame
Now you need to call GetActiveView on that
Nish
Sonork ID 100.9786 voidmain
www.busterboy.org
If you don't find me on CP, I'll be at Bob's HungOut
|
|
|
|
|
I am new to MDI type apps.. Can you show me a short example?
Thanks,
Rob
|
|
|
|
|
Dear All:
I use MFC's Wizard to generate a MDI application with a Full-server support. It passed the link pretty good but when I F5, an Assert problem occurs! The message looks like this:
Debug Assertion Failed!
File: olelink.cpp
Line:291
This assert is invoked by following codes in InitInstance and after AddDocTemplate();
//Connect the COleTemplateServer to the documenttemplate.
//The COleTemplateServer creates new documents on behalf
//of requesting OLE containers by using information
//specified in the document template.
m_server.ConnectTemplate(clsid, pDocTemplate, FALSE);
// Register all OLE server factories as running.
// This enables the OLE libraries to create objects from
// other applications.
COleTemplateServer::RegisterAll();
The same code works on other people's machine pretty good, but some other people have the same problem.
Has anybody meet this problem before?
Thanks a lot.
|
|
|
|
|
How can I select the text in a CEdit control.
I have tried the SetSel(first_pos, last_pos) but the text don't be "blue".
SetSel() works fine to cut or paste... but i want the text to be marked whit the blue line, as when using mouse.
regards,
Ola
|
|
|
|
|
After the SetSel you need to do a SetFocus
m_pedit.SetSel(1,10);
m_pedit.SetFocus();
Nish
Sonork ID 100.9786 voidmain
www.busterboy.org
If you don't find me on CP, I'll be at Bob's HungOut
|
|
|
|
|
hmm...
I still can't get the text marked blue.
/Ola
|
|
|
|
|
Then what color are they coming in?
Or are you saying text is not even selected?
And does the cursor start blinking in the edit box?
Nish
Sonork ID 100.9786 voidmain
www.busterboy.org
If you don't find me on CP, I'll be at Bob's HungOut
|
|
|
|
|
Text in edit box is not visible selected.
Cursor starts blinking, and if I use m_editbox1.Cut(); text disappear.
If I write some, text in edit box are not replaced.
Code example:
void CMyClass::OnSetfocusBox1()
{
m_box1.SetSel(1,10);
m_box1.SetFocus();
// m_box1.Cut(); works, but text in box are never visable selected.
}
Ola
|
|
|
|
|
I am writing a EBCDIC conversion program but this is all new to me. Is there a function that allows you to take in more than a byte at a time and convert it, for example.
My second and third bytes (0x00 0x08) indicate the length of the record. Therefore I don't want to take them in one at a time I want both bytes and then convert them to give me a length.
Any tips on such a thing would be appreciated?
|
|
|
|
|
I know nothing of EBCDIC, but of course you can do anything you want with single bytes!
if you have two bytes, 0x00 and 0x08, which together represent a length, then:
BYTE h,l;
DWORD combined=0;
h=0x00; l=0x08;
combined= (h << 8) + l;
the << (and the >>) operaters shift bits left and right respectively.
The line of code I wrote will generate warnings about differering types of lvalue and rvalue, you can shut this up with some explicit casting.
Sorry to dissapoint you all with my lack of a witty or poignant signature.
|
|
|
|
|
Hello,
I am trying to run a sample program using simpleMapi to send an email.But I get this error
"The message could not be sent because one of the recipients was rejected by the server. The rejected e-mail address was 'archanamahapatra@hotmail.com'. Subject 'Demo email using CMapiSession - Please ignore', Account: 'pddmail1', Server: 'pddmail1', Protocol: SMTP, Server Response: '550 5.7.1 Unable to relay for archanamahapatra@hotmail.com', Port: 25, Secure(SSL): No, Server Error: 550, Error Number: 0x800CCC79"
I have Microsoft Outlook on my machine.
Archana
|
|
|
|
|
The SMTP server you are connecting to has rejected your send mail action.
I am not familiar with the 'simpleMapi' code you are running, but I can tell you that the official explanation of SMTP Error 550 is:
"Requested Action Not Taken: Mailbox unavailable, e.g. mailbox not found"
Hope this helps,
Robert
|
|
|
|
|
All,
What is the simplest way to pop-up a scrollable help screen that presents help instructions from a text file?
I know how to pop a new Dialog, and can place an Edit box, etc. in there but:
- I don't know how to make that Dialog 'not attached' to the parent Dialog so the user can continue interacting with the parent and ocassionally scroll the help dialog.
- Is there a simpler way to do it than I have mentioned?
Much thanks,
Robert
|
|
|
|
|
Robert Palma Jr. wrote:
- I don't know how to make that Dialog 'not attached' to the parent Dialog so the user can continue interacting with the parent and ocassionally scroll the help dialog.
Make it a child of the desktop.
Christian
I have come to clean zee pooollll. - Michael Martin Dec 30, 2001
Sonork ID 100.10002:MeanManOzI live in Bob's HungOut now
|
|
|
|
|
Thanks for reply Christian,
Afraid I'm not sure how to do that.
I tried setting the property of the new Dialog to 'Child' rather than 'Popup', but that seemed to cause the new Dialog to paint on top of the parent Dialog in a semi-transparent way and I lost all control of either Dialog.
Robert
|
|
|
|