|
I've a C program that returns a long.
Its parameters are an string and a long.
I want to create a dll and use it in a Visual Basic Program.
|
|
|
|
|
1. Run AppWizard in VC 6.0
2. Choose New Project
3. Pick Win32 Dynamic Library.
4. Replace the sample function with your code.
5. Compile it
It's that simple
I vote pro drink
|
|
|
|
|
If you use the automatic VC tool to build wizards, how do you gain control over the next, back and finish button. I need to enable or disable them based on the data entered into my dialog boxes, but it seems like I can't find the IDs associated with every item. And an additional problem is that you don't even see these buttons in the resources on the dialogs.
|
|
|
|
|
You may consider using this.. http://www.codeproject.com/dialog/wizard2000.asp
I know it doesn't answer your question but its a good work around.
Rob
|
|
|
|
|
I'm trying to write a debugger for another program
I've written, but I'm having trouble getting OutputDebugString
messages from it. While it seems to me I'm doing everything ok,
I get garbage as the string, even though the event correctly
reports the size of the string.
DEBUG_EVENT oDebugEvent;
if (WaitForDebugEvent(&oDebugEvent, INFINITE))
{
if (oDebugEvent.dwDebugEventCode == OUTPUT_DEBUG_STRING_EVENT)
{
char strTempString[1000] = "";
if (!ReadProcessMemory((HANDLE)dwProcessHandle,
oDebugEvent.u.DebugString.lpDebugStringData,
strTempString,
oDebugEvent.u.DebugString.nDebugStringLength,
NULL))
{
printf("ReadProcessMemory() FAILED\n");
printf("ERROR NUMER: %d", GetLastError());
}
else
{
printf("%s\n", strTempString);
}
}
ContinueDebugEvent(oDebugEvent.dwProcessId,
oDebugEvent.dwThreadId,
DBG_CONTINUE);
}
The only thing I wonder about is the oDebugEvent.u.DebugString.lpDebugStringData I'm passing to
ReadProcessMemory(). In MSDN, ReadProcessMemory() needs a
"Pointer to the base address in the specified process from
which to read." Does this mean I'm not passing the right value
to it? If not, then what?
Steve The Plant
ps: as a side note, I've tried to indent the code, but it just
shows up as a chunk. Anyway to fix that?
|
|
|
|
|
Hi,
Just some stupid ideas:
- could it be a Unicode/Ansi mismatch? (DebugString.fUnicode)
- a dynamic buffer to store the result would be better, since you know the exact length of the string (otherwise you could have a buffer overrun)
As for the indent problem, use <PRE> </PRE> tags to enclose the source code.
Cheers,
Paolo
------
"airplane is cool, but space shuttle is even better" (J. Kaczorowski)
|
|
|
|
|
Hi everyone,
As my attempt to get CSplitterWnd to work the way I want has become a long process, I finally give up... There are bugs and stuff in CSplitterWnd which I can't get around and which I no longer have the strenght to deal with.
Does anyone know of a standalone splitter class or is there anyone who can point me in the right direction for starting out on my own?
Sincerely,
/Tommy
|
|
|
|
|
have you look in the splitter section of this page ?
http://codeproject.com/splitter/
Remi Morin
Rmorin@Operamail.com
Remi.Morin@Lyrtech.com
don't forget: the hell have also his miracle
|
|
|
|
|
Of course, but are you telling me you have found something there?!
|
|
|
|
|
I would like to create setup.exe file which would install and register my shell extension (.dll) on computer - I guess there must be specific options of install shield app to do it, but I thought of an option to do it another
way - installing - would register activeX, uninstalling would uninstall it.
|
|
|
|
|
What do you need to Know? because I saw a lot of question in a simple message.
If you need to Know how you can register a dll, is easy.
First you need to load the dll with loadlibrary
then you need to get the address of DllRegisterServer function that is into the dll that you want to register and after this you must to execute this function.
If you want to unregister the dll you need to execute the DllUnRegisterServer function that is into the dll, with the same process.
I hope to help you...
Best Regards and Happy Friday
Carlos Antollini.
|
|
|
|
|
Is it possible to change the colour of the text, and background color of a toolbar and it's buttons?
Thanks in advance,
James Bird - birdjames@bigfoot.com
|
|
|
|
|
Yes, it's possible. Have a look at NM_CUSTOMDRAW notification and TBSTYLE_CUSTOMERASE style.
Tomasz Sowinski -- http://www.shooltz.com
|
|
|
|
|
Hi there!
I would like to have variables and being able to access them from all the views, the dialogs and menus and stuff.
How can I make this happen?
Should all variables be placed in the Document? the View?
I have a dialogbox that should be able to change a CString, and somewhere on the menu i'd like to just show the CString using a MessageBox()...
How can I access the variables when I'm pressing a button i've created in the Menu? Because then i'm in a function belonging to the CMainFrame-class.
How can I reference a function in forinstance the view when I'm in a function belonging to the CMainFrame?
*sigh*
I'm trying to learn the MS Visual 6.0
argh..
|
|
|
|
|
If your variables relate to the document they should be put there. From there they will be accessible to all views throught the GetDocument() member function.
If the variables are more global of nature and as such not related to a specific document but more to the program instance as such (e.g. username/pw or default file locations)I would put them in the application object (your CWinApp derivative). Then they will be accessible from anywhere in the program through AfxGetApp().
I'd say you put your CString in the document.
Cheers
Steen.
"To claim that computer games influence children is rediculous. If Pacman had influenced children born in the 80'ies we would see a lot of youngsters running around in dark rooms eating pills while listening to monotonous music"
|
|
|
|
|
Yeah well...
the AfxGetApp() returns a CWinApp.
and my main CWinApp-derived is not the same type as CWinApp.
So when I try to cast the AfxGetApp() to my derived CWinApp-class it simply don't know jack sh*t about any of my variables (they're all 0 even though I have set them otherwise)
Any other suggestions?
Or maybe a workaround?
|
|
|
|
|
Casting the AfxGetApp() to your derived type is a very common, and useful thing to do. You could be having problems with the timing (when and where you are calling AfxGetApp() from). Do you have a sample?
|
|
|
|
|
Hello, the codegurus around the world.;)
Generally speaking, we can use our own class derived from CObject
for the complicated data structure.
This is a powerful approach since we can use serialize function from CObject to save
the data, and this has a flexibilty to access CObject derived class.
So, try to find the sample code for this approach in MSDN help.
At the same time, we can put any variables in our CView class, (not good CDoucument class), but this approach seems not to expand the other project.
But, once we create our own class drived from CObject, we can use the other project easily.
Have a nice day!
-Masaaki Onishi-
|
|
|
|
|
I did it like this and then it worked.
[CODE]
CFileDownloadApp *argh = NULL;
argh = (CFileDownloadApp *)AfxGetApp();
[/CODE]
when I tried to do something like this:
[BROKEN_CODE]
CFileDownloadApp *argh = (CFileDownloadApp *) AfxGetApp();
[BROKEN_CODE]
it didn't work.
I don't know why tho'!
|
|
|
|
|
in dialog base application i used two modal dialog boxes in first dialog box i using two text boxes where i entered username and password and do modal the second dialog where i want to used this values in second dialog box but when i used getdlgitemtext() and getwindowtext()
from second dialog box it giving the blank values can any one tell me how to get the values of edit box in second dialog box class
Thanks
|
|
|
|
|
Before calling DoModal on the second dialog, get the values from the edits in the first dialog, put them in member variabels of the second dialog class and call DoModal. In the second dialog's OnInitDialog you can the get the values from the member variables.
There is no way to directly get the values from the first dialog while in the second dialog by using GetDlgItemText() and likes - the edit controls are simply not controls of the second dialog!
Cheers
Steen.
"To claim that computer games influence children is rediculous. If Pacman had influenced children born in the 80'ies we would see a lot of youngsters running around in dark rooms eating pills while listening to monotonous music"
|
|
|
|
|
I am trying to do the following ! ( SQL Server 2000 )
Open one session of Query Analyser Window
Begin Trans
Update Table1 Set ...
But I don't commit !
Open another session of Query Analyser Window
Select from Table1
Select gets Blocked unless Update is committed !
CAN'T I DO A SELECT WHEN UPDATES/INSERTS Occur ?
I Can do with NOLOCK but we don't want uncommitted data to appear !
I have tried with all transaction isolation levels.
Anyone can help ?
Thanks
Anand
|
|
|
|
|
Why is it so damn hard to find an example of how to change colour on buttons and text???
Is it really that complicated or am I stupid?
I have a Button. I attach a variable to it: m_cButton
I can access lots of member functions and do amazing things to m_cButton BUT WHY is it so hard to make a simple f...ing color change????
|
|
|
|
|
WM_CTLCOLORxxx messages are used to change text/background colors of controls. However, there's a problem with buttons, here's what MSDN says:
The system sends a WM_CTLCOLORBTN message to a button's parent window before drawing a button. This message contains a handle to the button's device context and a handle to the child window. The parent window can use these handles to change the button's text and background colors. However, only owner-drawn buttons respond to the parent window processing the message.
So you'll have to use owner-draw, in this case you have complete control over button appearance - you draw every pixel yourself.
Tomasz Sowinski -- http://www.shooltz.com
|
|
|
|
|
Hi all,
Surely there has to be someone who knows the internal workings of CSplitterWnd!
There is a bug and a problem in CSplitterWnd which I must get rid off.
Bug:
When having nested splitters and you're clicking a splitter bar WITHOUT miving the bar, the clicked bar jumps 2 pixels to the right (or down depending on splitter orientation).
How to eliminate this bug?!?!!?
Problem:
Having nested splitters again, when I move (see picture) bar1, bar2 automatically gets moved along because bar2 is part of the splitter that is nested inside the splitter of bar1. This implementation works for most of the cases, but how do I make the nested splitter bar (bar2) NOT to move when I move bar1?
Having the orientation below and...
+-------------------------+
| |
| |
| |
+-----parent splitter-----+ <--- bar1
| |
+-----nested splitter-----+ <--- bar2
| |
+-------------------------+
...moving bar1 up a bit I get this orientation...
+-------------------------+
| |
+-----parent splitter-----+ <--- bar1
| |
+-----nested splitter-----+ <--- bar2
| |
| |
| |
+-------------------------+
...where bar2 follows every move of bar1. I don't want this.
Any ideas anyone?
/Tommy
|
|
|
|