|
Great thanks!
Aidman » over and out
|
|
|
|
|
I want to use some functions exported from a dll, but I don't have the documentation or the header file. I can get the names of the exported functions by using dumpbin, but how do I determine the function parameters?
|
|
|
|
|
Guess...
That's the only way
- Anders
Money talks, but all mine ever says is "Goodbye!"
|
|
|
|
|
If the function name is mangled, you can demangle it using UNDNAME.EXE.
You should save yourself and your company years of grief by shooting yourself through the head immediately. Believe me, in the long run it'll turn out better for everyone. - Tyto (at arstechnica)
Awasu 1.0[^]: A free RSS reader with support for Code Project.
|
|
|
|
|
Thanks. Actually, it's a C dll, so the names aren't mangled. I wish the function names were mangled, then I could find out the parameters using the latest version of Depends.exe. Unfortunently, I think Anders is correct, I have to guess or get knee deep into the disassembled ASM. Thanks for your help.;)
|
|
|
|
|
Okay, I have the window, title, toolbar, and basic commands done... All that I have to do is create the editbox (or whatever its called) for the text to go into... How would I do this? I dont really know where to place thiscodde? And how would I go about creating the editbox? Ive never really used MFC in this area before.
Thanks,
orcblood
|
|
|
|
|
Well, the first thing would be: Are you using the visual tools in VisualStuio to create your application, or are you coding everything from scratch?
If you use the visual tool, it's simple drag&drop to create it, and then you assign a member variable for it.
If you create it from scratch it's a bit more work, but should not be too much.
I do not have the code at hand now, but it should be something like this:
CEdit editMyTextEditor;
editMyTextEditor.Create(...); //replace "..." with parameters
editMyTextEditor.MoveWindow(RECT); //Place the control within your window.
editMyTextEditor.ShowWindow();
As I said I am not sure if this is the correct sequence to create the control and showing it, but hopefully you can get something out of it. I will dig out some code for you tomorrow if you have not yet found something, but right now I am going to bed!
|
|
|
|
|
Okay, I don't know how to use Visual Tools . Is that for .net? I suppose I should say that I have MSVC++ 6.0 no thte .net version... Anyways, I would greatly appreciate you looking for some code I really don't know how to do it in MFC but I know how to do it in a standard C++ file - I just couldn't get the program looking the way I want... And after creating my MP3 player in MFC Ive decided that it would be easier/better to create the program in MFC.
Thanks,
orcblood
|
|
|
|
|
I will look for some code tomorrow.
But you also have the ability to make your application visually in VisualStudio 6.0. When you create a new application, you will have an option for what class your C...View class should be derived from. There you select CFrameView. If you use dialog based application, you don't have to select anything. Then on your resource Tab you will have all your visual parts, and you can modify them. Play around and see what you can find out...
See u tomorrow then.
|
|
|
|
|
Ahhh, ok, I am unable to go to bed before this is solved:P Well, here's the code. Three lines that's all that's needed:
CEdit m_editEditor;
m_editEditor.Create(ES_AUTOHSCROLL | ES_LEFT,CRect(50,50,150,70),this,NULL);
m_editEditor.ShowWindow(SW_NORMAL);
Voilà!
This creates the most basic single line control. You can change the CRect parameters to change the size, and you change the ES_ values to change the look and behaviour of the control. The last parameter is the controls ID, which I could not be bothered to make. but it's simply a
#define IDC_EDIT_MYEDIT 100
statement to create that..
Well, hope this sorted things out. NOW i have to sleep;)
Good luck with your programming.
-Jaran
|
|
|
|
|
Wow thanks for your help. I just have one problem about where to place this code - that is if its for coding straight into the program without using the class wiz... Where would I place this code about? Ive tried in some differenft spots and it doesn't really seem to be working too good .
orcblood
|
|
|
|
|
Well you should put it in your init or startup function, where you define controls, set the window size...
|
|
|
|
|
|
How would I get rid of the MFC logo?
orcblood
|
|
|
|
|
|
How do I print HTML documents programmically? I have tried
(32>= (int)ShellExecute(NULL,"print", m_textList[i],NULL, NULL, SW_SHOWNORMAL));
But it doesn't print all the documents that are in the array (for loop increasing i).
It doesn't print all of them just someof them.
-Steven
CPACodeProject Addict
By reading this message you are held fully responsible for any of the mispelln's or grammer, issues, found on, codeproject.com.
For those who were wondering, actual (Linux) Penguins were harmed in creating this message.
|
|
|
|
|
Steven Hicks wrote:
It doesn't print all of them just someof them.
Have you checked that m_textList[i] is valid for all i ?
--
It's not unusual to be picked up by a klingon woman
It's not unusual to have fun with a klingon
When I see you kicking me around
It's not unusual to see me cry, I wanna die
|
|
|
|
|
yes it is, sometimes the array is 10docs and it doesn't get half of them. If i use the sleep(1750 maybe it ll get more. How can I get it to print all of them as it's commanded in the for loop?
-Steven
CPACodeProject Addict
By reading this message you are held fully responsible for any of the mispelln's or grammer, issues, found on, codeproject.com.
For those who were wondering, actual (Linux) Penguins were harmed in creating this message.
|
|
|
|
|
I am looking for a solution for getting the content of a folder (files and / or folders).
Does anyone know how I can do this?
|
|
|
|
|
|
Thanks, I will look at the FindFirstFile/FindNextFile functions. I tried the class that you linked to, but it didn't seem like it would list the content of just the folder I selected, but all the other subdirectories, or nothing...
Thanks again.
-J
|
|
|
|
|
jaran wrote:
it didn't seem like it would list the content of just the folder I selected, but all the other subdirectories, or nothing...
it will certainly do a single folder. just set Recurse to false.
-c
When history comes, it always takes you by surprise.
|
|
|
|
|
Ok, so this is what I try:
CSADirRead dirReader;
dirReader.Recurse() = false;
dirReader.ClearDirs();
dirReader.GetDirs("D:\\Stash");
CSADirRead::SADirVector &directories = dirReader.Dirs();
//Temp var for folder name
CString sFolder;
OutputDebugString("Sub folders:\n");
for (CSADirRead::SADirVector::const_iterator dit = directories.begin(); dit!=directories.end(); dit++)
{
sFolder.Format("%s", (*dit).m_sName);
OutputDebugString(sFolder+"\n");
sDirList = sDirList+"D"+sFolder+"|";
}
Don't mind the OutputDebugString, and the other string formatting (sDirList).
The problem is that the only thing that is returned is "D:\Stash", not the subfolders...
Do you know why? What have I done wrong...?
Thanks.
|
|
|
|
|
jaran wrote:
The problem is that the only thing that is returned is "D:\Stash", not the subfolders
ahh. yes, i see what you mean. the class doesn't provide a way to get a list of subfolders in a given folder.
*edit*
i have updated the class to support this functionality
*/edit*
well, FindFirstFile/FindNextFile are easy enough to use.
-c
When history comes, it always takes you by surprise.
|
|
|
|
|
OK, well, then I'll make something out of FindFirstFile/FindNextFile.
Thanks for your help.
-Jaran
|
|
|
|