What do you just mean with? - the %systemroot% path; - one of the path specified by the PATH environment variable; I'm not such an experienced programmaer:-) Kind regards, ciao, Geert
Geert Craessaerts
Posts
-
calling a DLL in Visual C++ -
calling a DLL in Visual C++Could you explain me what you mean with "try to add the Mathlab engine path in the PATH env variable: use Dependency Walker to find the dependencies of your DLL and than search the file in HD" Thanx, kind regards, Geert
-
calling a DLL in Visual C++Hello, I've written a program in VisualC++ to call a DLL file. I came to the DLL file by compiling a Matlab file with the function mcc. When I write a simple DLL file (output=input) my C++ program works very well and gets a good link with the DLL. But when I change the DLL file a little bit(output = 3* input), my program gets no good link with the DLL file. It seems that the main function can't call the other subfunctions of my dll file(the functions that are extra created when I changed my DLL file to "output=3*input" and are needed to perform the multiplication) Please, can you explain me what's wrong, what I have to change?? Is their something wrong with the settings of my program? Could you give me a good example of such a program? Is there maybe something wrong with the mcc compiler code? The code I used was "mcc -W lib:libFLOPS -t -h -T link:lib libmmfile.mlib FLOPS". This is a part of my C++ program: void CDLLTESTDlg::OnStartdllbutton() { typedef mxArray*(* LPFNDLLFUNC1)(mxArray* input); HINSTANCE hDLL; // Handle to DLL LPFNDLLFUNC1 lpfnDllFunc1; // Function pointer hDLL = LoadLibrary("libFLOPS.dll"); if (hDLL != NULL) { lpfnDllFunc1 = (LPFNDLLFUNC1)GetProcAddress(hDLL,"mlfFLOPS"); if (!lpfnDllFunc1) { // handle the error FreeLibrary(hDLL); SetDlgItemText(IDC_RESULTDLLCALL,"ddl found, but no function"); } else { // call the function char szTemp[100]; mxArray *INPUT=NULL, *OUTPUT=NULL; INPUT=mxCreateScalarDouble(100); OUTPUT=(*lpfnDllFunc1)(INPUT); sprintf(szTemp,"%f",mxGetScalar(OUTPUT)); SetDlgItemText(IDC_RESULT,szTemp); SetDlgItemText(IDC_RESULTDLLCALL,"ddl en functie gevonden"); FreeLibrary(hDLL); } } } Thanx for your support , kind regards, Geert
-
Using C functions in Visual C++I want to use some functions that are declared in this header file(matrix.h), but when I want to compile my program, it gives the following error. error LNK2001: unresolved external symbol _mxCreateDoubleMatrix error LNK2001: unresolved external symbol _mxGetPr Do you know what's wrong? Kind regards, Geert /* * @(#)matrix.h generated by: makeheader Sun Feb 11 00:59:45 2001 * * built from: ../include/copyright.h * ../include/mxassert.h * alloccbk.c * alloclst.c * array.c * array2.c * arraycbk.c * arraycpy.c * assignmt.c * bytestr.c * catenate.c * cellindex.c * checkdim.c * conversions.c * end.c * errmsg.c * error.c * errtable.c * fcnreg.c * fmxapi.c * funhdl.c * ieee_wrap.c * indexcpy.c * iocbk.c * marshal.c * mcat.c * mxapiv4.c * mxequal.c * mxutil.c * nargchk.c * numconv.c * opaque.c * permute.c * populate.c * referenc.c * resize.c * rndcolon.c * scopemgr.c * strconv.c * transpose.c * txtcmp.c * undoc.c * warning.c * wrnstate.c * modver/modver.c * mxdbg.h */ #ifndef matrix_h #define matrix_h /* $Revision: 1.4 $ */ /* * Copyright (c) 1984-2001 The MathWorks, Inc. * All Rights Reserved. */ /* $Revision: 1.5 $ */ /* mxAssert(int expression, char *error_message) --------------------------------------------- Similar to ANSI C's assert() macro, the mxAssert macro checks the value of an assertion, continuing execution only if the assertion holds. If 'expression' evaluates to be true, then the mxAssert does nothing. If, however, 'expression' is false, then mxAssert prints an error message to the MATLAB Command Window, consisting of the failed assertion's expression, the file name and line number where the failed assertion occurred, and the string 'error_message'. 'error_message' allows the user to specify a more understandable description of why the assertion failed. (Use an empty string if no extra description should follow the failed assertion message.) After a failed assertion, control returns to the MATLAB command line. mxAssertS, (the S for Simple), takes the same inputs as mxAssert. It does not print the text of the failed assertion, only the file and line where the assertion failed, and the explanatory error_message. Note that script MEX will turn off these assertions when bu
-
Using C functions in Visual C++Can anyone explain me how to use C functions in Visual C++? Is there something special that I need to know? Thanx, Kind regards, Geert
-
PipelinesCan anyone give me a good link for building a dynamic data exchange between a Matlab.exe and a VisualC++.exe? Is this possible and where can I find some good information? Thanx, kind regards, Geert
-
CPreciseTimerIn my program I use the CPreciseTimer class twice in the same loop. Will they both work normal or will PreciseTimer1 stop if PreciseTimer2 starts? Thanx, kind regards, Geert
-
0xC0000005:Acces violationCan anyone explain me what I have to do with this error? 0xC0000005:Acces Violation The debugger stops at: //perform specific initializations if (!pThread->InitInstance()) { if(pThread->m_pMainWnd !=NULL) { TRACE0("Warning: Destroying non-NULL m_pMainWnd\n"); pThread->m_pMainWnd->DestroyWindow(); } nReturnCode=pThread->ExitInstance(); goto InitFailure; } nReturnCode = pThread ->Run(); The debugger stops at the line; pThread->m_pMainWnd->DestroyWindow(); Thanx, kind regards, Geert
-
which function counts the number of directories?Does this also work for directories? Thanx, Geert
-
which function counts the number of directories?Can anyone help me to find a function that counts the number of directories? I've tried it with the _findnext function but obviously it only works for counting the number of files and not the directories. Thanx a lot! Kind regards, Geert
-
Windows Timing performanceHi, I've written a program to test the performances of a windows timer under different work loads. In a first step we used the program under a windows 98 platform with a timer frequency of 5Hz. So every 200msec the Wintimer should sent a WM-TIME message to the OnTimer function. Because the timer tick frequency of a windows 98 platform is about 18Hz(55msec) there will be approximately a time delay of 20msec. When I start the program with no work load(0 floating point operations) the time delay is also 20 msec, so everything is normal. But when I want to increase the work load to 1.000.000 floating point operations the time delay becomes smaller. I would expect that it would increase with increasing work load! Can anyone explain this? Kind regards, Geert
-
HistogramI'm searching for a good reference to include cumulative histograms in my program. Can anyone help me? Thanx, Geert