|
Hi there
Im loading a dll from project1.exe, then start project2.exe by CreateProcess and pass it the Handle of loaded dll as a CommandLine parameter. After this in project2.exe I try to get the dll function's address by caling GetProcAddress with the given handle; But these addresses are NULL!
Where is the problem?
|
|
|
|
|
Are you sure that the handle returned from LoadLibrary() can cross process boundaries?
"When I was born I was so surprised that I didn't talk for a year and a half." - Gracie Allen
|
|
|
|
|
I have a number of CListCtrl objects that are placed at various positions on the screen at random and I need to be able to link items together (like in SQL Server's views when joining tables). I'd like to get any suggestions as to the best way to go about doing this. I'm not asking for any code, just ideas. I don't want to go down one road only to find I'm headed in the completely wrong direction. Thanks in advance; any suggestion is welcome!!
[insert witty comment here]
bdiamond
|
|
|
|
|
I'd go for a 'link-Control' class.
this class maintains all link possebilities. link-control consists of several link-objects.
hope i've been of some assistance.
"If I don't see you in this world, I'll see you in the next one... and don't be late." ~ Jimi Hendrix
|
|
|
|
|
thanks, I was kinda thinking of something along those lines, but I guess I was more talking about the drawing aspect of it. I saw an article here on codeproject that I downloaded that discusses dragging and dropping of listctrl items from one control to the other. Upon the drop completion I would instantiate a new link object. I'm just wondering if there's a certain GDI function I should use to draw the line I want, because it will have to be able to stretch and move when the user scrolls the control or moves the control around. But I do appreciate your help. Thanks!!!
[insert witty comment here]
bdiamond
|
|
|
|
|
Can anyone point me to some good articles about realeasing mfc projects. Ive searched around but im not sure exactly what im looking for.
Ive compiled my proj for release and ive learned how to bundle it with an installer, but i dont know what mfc DLLs (my proj used mfc shared DLL) i need to include and where i need to go about copying them on install.
|
|
|
|
|
KnaveWave wrote:
i dont know what mfc DLLs (my proj used mfc shared DLL)
To find out which DLLs your application uses run the program Depends.exe located:
VS VC6
C:\Program Files\Microsoft Visual Studio\Common\Tools
VS .Net
C:\Program Files\Microsoft Visual Studio .NET 2003\Common7\Tools\Bin
or equivelant directory.
Load the executable into depends and it lists all DLLs that your executable depends on (it does exactly what it says on the tin!).
KnaveWave wrote:
where i need to go about copying them on install
All dependant DLLs can reside in the working directory for the executable. However most windows installations will already have the appropriate mfc DLLs already installed in the WINDOWS directory or WINDOWS\SYSTEM directory or WINDOWS\SYSTEM32 directoy.
Installers, eg. Wise, InstallShield can/will locate all dependant DLLs for you and add them to the appropriate places within the install package when it is built. These will then be installed as necessary on the client machine.
Ant.
I'm hard, yet soft. I'm coloured, yet clear. I'm fruity and sweet. I'm jelly, what am I? Muse on it further, I shall return! - David Williams (Little Britain)
|
|
|
|
|
That project uses only MFC42.DLL.
You can know what DLL your project uses with Depends utility.
Depending on your application for generating installers, you will need a merge module that incorporates MFC42 with the installation, for example, InstallShield uses MFC42.MSM
Jaime
|
|
|
|
|
I finally made my MFC(GUI) project,but have a problem,after working succesfully once,for second time it doesnt work anymore!(without exiting form GUI).
What can be the problem?Can someone please help?Maybe i need toreinitialize or free something?
Alex
|
|
|
|
|
If ur using some mutex see that u release the mutex. Hope this helps
Dipeka.A.J
|
|
|
|
|
No,no mutex is used..
Ill detail more:
my project(parser XML) i allow user to enter filename of file to be parsed and directories for log files(regularTXT and html) and then allow start parsing(only if user entered file and directory). For translating txt log file to html i have checkbox and if its marked then html-convert function also starts working..
If ots not enough please tell me,also ill post the code tomoroow(although its quite long for posting)
Thank you
Alex
|
|
|
|
|
what doesn't work anymore ?
have you checked the usuals ( memory leak, resource leak, ... ) ?
what are the symptoms ?
Maximilien Lincourt
Your Head A Splode - Strong Bad
|
|
|
|
|
I did check the usuals..
Here some details:
My project(parser XML) i allow user to enter filename of file to be parsed and directories for log files(regularTXT and html) and then allow start parsing(only if user entered file and directory). For translating txt log file to html i have checkbox and if its marked then html-convert function also starts working..
So the problem is after working once,if i want to enter filename e.t.c. once more,it allows entering but it doesnt work..(if i exit from gui interface and start the programm over again it does work(but again just once),but i need it to work without exiting..
If its not enough please tell me,also ill post the code tomoroow(although its quite long for posting)
Thank you
Alex
|
|
|
|
|
did you close the files ? re-initialize variable ? reset the state of the parser ?
as david wrote, did you trace the problem by putting breakpoints to see ( or try to see ) when in the execution path your program stop working properly ?
don't post ALL the code, only the portions that doesn't work ( and after you really "cornered" the bug and/or the offensive function )
Maximilien Lincourt
Your Head A Splode - Strong Bad
|
|
|
|
|
Ok,i'll try to find the problematic place in code exactly,and i'll tell here..
Thank you,
Alex
|
|
|
|
|
Problem solved!!!
It was a small thing actually..Forgot to reset a global variable..
Thank you very much for the help,i'm thankfull
Alex
|
|
|
|
|
rfixxxer wrote:
Forgot to reset a global variable
Which is one of the primary reasons for not using them. Good luck.
"When I was born I was so surprised that I didn't talk for a year and a half." - Gracie Allen
|
|
|
|
|
Is ur project dialog based? Are u using any event handling? This may help to think over the problem
Dipeka.A.J
|
|
|
|
|
Dialog Based-Yes,aloso have Start button which triggers start of programm
Event-No
ThAnks
Alex
|
|
|
|
|
Problem solved!!!
It was a small thing actually..
Thank you very much for the help,i'm thankfull
Alex
|
|
|
|
|
It's great u have discovered the problem!!!!! All the best
Dipeka.A.J
|
|
|
|
|
It's great u have discovered the problem!!! All the best
Dipeka.A.J
|
|
|
|
|
You've not provided near enough information. Any attempt at a solution at this point would be futile at best.
What does the program do? What are the symptoms? Has it ever worked two or more times? When the program is supposed to "run" a second time, have you stepped through the code from that point to see what is failing? Have you trimmed away all unnecessary code so that what's left is just enough to reproduce the problem?
"When I was born I was so surprised that I didn't talk for a year and a half." - Gracie Allen
|
|
|
|
|
Hello,
Ill detail more:
My project(parser XML) i allow user to enter filename of file to be parsed and directories for log files(regularTXT and html) and then allow start parsing by pressing Start button which triggers start of work(only if user entered file and directory). For translating txt log file to html i have checkbox and if its marked then html-convert function also starts working..
If its not enough please tell me,also ill post the code tomoroow(although its long for posting)..And no it never worked more than once..
Symptoms are that for second try of running it does get the input but doesnt perform necessary actions as in first time..
I debugged my functions and its fine,couldnt debug GUI(mfcDlg.cpp)yet..
Thank you,
Alex
|
|
|
|
|
For starters, set a breakpoint in the handler for the Start button. Begin debugging at that point. You might also consider judiciously-placed ASSERT() statements. They alert you when the state of your program is not what you think/expect it to be.
"When I was born I was so surprised that I didn't talk for a year and a half." - Gracie Allen
|
|
|
|