|
My Visual Studio 2005 works for Windows Vista, and even works for Windows Vista 64-bit.
Maxwell Chen
|
|
|
|
|
then how its solve that problem
*****THANKS N ADVANCE****
Mathen.K
(I WILL TRY MY LEVEL BEST )
|
|
|
|
|
Hello,
I have a great problem that move the brain of all my team. We have developped a DLL with VS2003 in C++ and a test program to test this DLL (a) - Win32 Console application. The DLL (a) uses other DLL (b). It is working fine (on XP, and Windows Server 2003)
Now I have a new version of DLL (b), so I have migrate my DLL (a) with VS2005. I've tested it and it's working fine on some PC but not on some ohter. Work on some XP machine, but never Windows Server 2003. PC where it is working fine have VS2003, VS2005 but my PC have both VS and it does not work. One more thing, I cannot compile the new solution VS2005 of the DLL (a).
Here is some code of my test program:
typedef LPCSTR DLLDIR (__stdcall *DllPlay) (LPCSTR name, LPCSTR file, ...);<br />
<br />
int _tmain(int argc, _TCHAR* argv[])<br />
{<br />
DllPlay playDll;<br />
HINSTANCE hDLL;<br />
hDLL = LoadLibrary("ReplayBox.dll");<br />
if (hDLL!=NULL)<br />
{<br />
playDll = (DllPlay) GetProcAddress(hstreamDLL, "?Play@@YGPB0K0H_NHH@Z"); <br />
if (playDll!=NULL)<br />
{<br />
printf("Play found\n");<br />
result = (playDll)("myLogin","machin.wav", ...);<br />
printf("result : %s",result); <br />
}<br />
else<br />
{<br />
printf("Play not found\n");<br />
}<br />
}<br />
else<br />
{<br />
printf("DLL not found !!!\n"); <- ERROR : GO HERE WITH VS2005 DLL !!<br />
} <br />
}
When it's failed, it is due to the fact that my DLL (a) is not found. It could come also from one of the depenedency of DLL (a) with DLL (b). All DLL and test application are in the same directory.
I do not undestand why it's not working on some machine. Help ? Advice ?
La Richesse & la Gloire ne griseront jamais que les temples
|
|
|
|
|
Merlin Tintin wrote: "?Play@@YGPB0K0H_NHH@Z"
Going from the above quote, you are using C++, and exporting a C++ function. You've noticed the name mangling, (sorry, "decorating"), and have tried to compensate for it.
This decoration is famously fragile, and you can't mix C++ exported functions with different compilers. I bet 2003 and 2005 have different decoration.
If I'm right, the fix is simple. Here is a snippet of a function I export from one of my Extendy DLLs.
extern "C" {
BOOL __declspec(dllexport) GetBusModuleDetailsW (BusModuleInformation *info, UINT nFlags);
}
BOOL __declspec(dllexport) GetBusModuleDetailsW (BusModuleInformation *info, UINT nFlags)
{
....
}
And here is how I load it:
typedef BOOL (*BUSGETMODULEINFORMATION)(BusModuleInformation *info, UINT nFlags);
....
g_hModuleBus = ::LoadLibrary (sModule);
BUSGETMODULEINFORMATION md = NULL;
if (g_hModuleBus)
{
md = (BUSGETMODULEINFORMATION) ::GetProcAddress (g_hModuleBus, "GetBusModuleDetailsW");
if (!md)
{
FreeLibrary (g_hModuleBus);
g_hModuleBus = NULL;
}
}
else
md = GetBusModuleDetailsW;
if (md)
{
(md) (&somestruct, SOME_FLAGS);
Some code has been changed, as it's not relevant to you what structures and flags do what within my software.
So, you could make your DLLs safe using extern "c" in vs2003, then compile the appropriate ones in vs2005.
Good luck,
Iain.
Iain Clarke appearing in spite of being begged not to by CPallini.
|
|
|
|
|
hDLL = LoadLibrary("ReplayBox.dll");
if (hDLL!=NULL)
{
....
}
else
{
printf("DLL not found !!!\n"); <- ERROR : GO HERE WITH VS2005 DLL !!
}
May be i understood wrongly, he was saying failed at loading library.
|
|
|
|
|
Grr me. All that typing, and for nothing! Ah well...
Iain.
Iain Clarke appearing in spite of being begged not to by CPallini.
|
|
|
|
|
Merlin Tintin wrote: so I have migrate my DLL (a) with VS2005.
Merlin Tintin wrote: One more thing, I cannot compile the new solution VS2005 of the DLL (a).
both are not matching.
Merlin Tintin wrote: hDLL = LoadLibrary("ReplayBox.dll");
when failed, what the GetLastError() returned.
|
|
|
|
|
re -
thank you for your interest. My team continues to search but without success for now...
1. I have a problem to load library - not (yet) to import functions but thanks for typing Iain
2.
Merlin Tintin wrote:
so I have migrate my DLL (a) with VS2005.
Merlin Tintin wrote:
One more thing, I cannot compile the new solution VS2005 of the DLL (a).
-> My boss has migrated the DLL on his computer and compile it. When I tried to compile his solution with VS2005, it doesn't compile.
3.
Merlin Tintin wrote:
hDLL = LoadLibrary("ReplayBox.dll");
when failed, what the GetLastError() returned.
-> error code 14001 - This application has failed to start because the application configuration is incorrect. Reinstalling the application may fix this problem.
-> not very usefull..
Regards,
La Richesse & la Gloire ne griseront jamais que les temples
|
|
|
|
|
So i assume Replay.dll is produced by the compiled version (Boss').
Merlin Tintin wrote: when failed, what the GetLastError() returned.
-> error code 14001 - This application has failed to start because the application configuration is incorrect. Reinstalling the application may fix this problem.
-> not very usefull..
just a guess, have you installed the VC Redistribute [^]
|
|
|
|
|
hello everybody !
>> just a guess, have you installed the VC Redistribute [^]
I have installed the VC Redistribute yes... But I found the problem.
You remember DLL (b) ? That was the DLL used by my DLL (a). The guy who has compiled the DLL (b) has VS2005 SP1 ! SP1 is important because it requires some other DLL to work! So, we had to check with Dependency Walker to get the dependant DLL and the manifest to get the DLL version. With a lot of research we have finally found all DLL. That's all !
I have a last problem. I still cannot compile the VS2005 project (which is a project migrated from VS2003 by my boss). I get the following error:
<br />
Error 2 fatal error C1902: Program database manager mismatch; please check your installation c:\MyProject\stdafx.cpp 1 <br />
This project compile correctly of my PC's boss. What do you think ?
Thanks for you help,
Regards,
La Richesse & la Gloire ne griseront jamais que les temples
|
|
|
|
|
Hello everyone,
I made some self-study of the possible exception from string operations. I want to let you review whether I am correct. Since I can not find any exception information from MSDN. Talking in Visual Studio STL environment is ok.
1. assignment, may throw bad_alloc?
2. comparison (compare), nothrow?
3. insert, may throw bad_alloc?
4. concatenation, may throw bad_alloc?
5. replace, may throw bad_alloc (suppose replace small sub-string to large sub-string)?
6. find (e.g. find_first_of), nothrow?
7. substr, may throw bad_alloc (sub-string is something new)?
thanks in advance,
George
|
|
|
|
|
Hello everyone,
I want to study the constructor for string to see whether for an empty string it has some default storage allocated or not (for self technical interest only), and string is defined based on basic_string<char>, so I begin to study basic_string.
But in file string, there is no constructor for basic_string. Anything wrong? Where is it?
I am using Visual Studio 2008.
thanks in advance,
George
|
|
|
|
|
Try to find the Help for Cstring class in MSDN
|
|
|
|
|
Hi Jeet_IT_in,
I am confused. CString is class for MFC, but string is STL class. Are they related? Thanks.
regards,
George
|
|
|
|
|
There is the constructor of std::basic_string in VC++2005.
File xstring , line 583.
__CLR_OR_THIS_CALL basic_string(has_debug_it _Hdi = _Has_debug_it(true))
: _MyBase()
{
}
Maxwell Chen
|
|
|
|
|
Thanks Maxwell,
I have found 16 bytes will be allocated as default. Right?
regards,
George
|
|
|
|
|
I think along with this STL stuff, learn something on debugging. Place the breakpoint on the statement, then step in, step in, you can explore the complete available code.
|
|
|
|
|
Thanks Rajkumar -- good method!
I have found 16 bytes will be allocated as default. Right?
regards,
George
|
|
|
|
|
Hi,
In my application i am opening a text file in one window.
In the middle of some operation / implementation i need to close this window and i need to open the same file again. When i tried to close this file (i tried with the function CloseAllDocuments()) it is deleting the contents of some structure variables related to my application. Is there any way to close this file without deleting the contents of these structures variables ???
Regards,
Sanjeeva Kumar.
|
|
|
|
|
Explain in detail.. and post small code if possible
|
|
|
|
|
plz ,
can u put the code ?
|
|
|
|
|
Jeet_IT_in wrote: plz ,
can u put the code ?
plz cn u stop txt SPKing? plzzzzz.
Nobody can give you wiser advice than yourself. - Cicero
.·´¯`·->Rajesh<-·´¯`·.
Codeproject.com: Visual C++ MVP
|
|
|
|
|
Sanjeeva Kumar K wrote: When i tried to close this file (i tried with the function CloseAllDocuments()) it is deleting the contents of some structure variables related to my application. Is there any way to close this file without deleting the contents of these structures variables ???
Sounds to me like you answered your own question. If your document class is cleaning itself up, that would seem a fitting place to start looking. Have you implemented DeleteContents() ? What about OnOpenDocument() ?
"Normal is getting dressed in clothes that you buy for work and driving through traffic in a car that you are still paying for, in order to get to the job you need to pay for the clothes and the car and the house you leave vacant all day so you can afford to live in it." - Ellen Goodman
"To have a respect for ourselves guides our morals; to have deference for others governs our manners." - Laurence Sterne
|
|
|
|
|
I Send Message With SMTP .
How Can I Received the Message With SMTP( Get Mail )?
thanks
Email : msbzag@gmail.com
thank's
|
|
|
|
|
SMTP for sending and POP for reading mails.
|
|
|
|