|
That is why I mentioned the student license.
In the UK you used to be able to get a full version of Visual Studio 6 for about £70 ($100US ish) - I.e. a huge saving from what it normally costs
Amazon doesn't seem to have student licence versions any more, but then they only seem to sell .NET stuff. I'm sure if you ask one of your teachers there should be someone who can tell you what a student licence copy would cost you
--
Help me! I'm turning into a grapefruit!
|
|
|
|
|
you associate micro.... with an old granny????
|
|
|
|
|
hi,
can someone tell me how to setup scrollbars. i simply want to make a CListBox that i manually update with data(it's not allowed to use it's own array). If i want to do something like this i need to read the scrollbar and set the scrollbar, but how?
i hope you get what i mean?
greetz,
[]D [] []D []
|
|
|
|
|
Try putting a scroll bar on the List box, and use SetCurSel and GetCurSel methods. This will scroll automatically to the selection you want. Hope it helps...
"Needless redundancy is the hobgoblin of software engineering." - Peter Darnell
|
|
|
|
|
thats only possible with a ListBox that already contains the info. i think i explaint it wrong.
i have a linked-list with about 2000 records. if i load all these record into the CListBox i get 2 problems:
1. it takes too long to load.
2. it takes too much memory.
So this would be the solution:
The listbox get's filled with the first 10 records. These records are shown. Once the user wants to see (for example) record 500 till 510, the listbox is updated with those 10 records(record 500 - 510). It seems like the ListBox contains all those 2000 records but in fact it only contains 10 records and keeps updating them(like a terminal).
In order to know witch selection must be shown i need to read the ScrollList of the ListBox(or make one myself). I also have to virtually make the ScrollList(make it seem like there are 2000 records in the list), but i have no clue how to do this. Can somebody tell me this?
[]D [] []D []
|
|
|
|
|
Sounds like you need to use a ListControl with ownerData (you can ste in resources). This lets you populate it only with the items that need to be shown at any given time.
I have never done it myself, so beyound that I can;t be any extra help. Possibly examples of this in the ListControl section here at CP.
Roger Allen
Sonork 100.10016
Were you different as a kid? Did you ever say "Ooohhh, shiny red" even once? - Paul Watson 11-February-2003
|
|
|
|
|
yes, thats what i need, but i've searched in the articles but the only thing i can find is pushbuttons for scrolling up and down in a CListBox, well for me thats the easy way out but not what i want.
thanks for your help, i'll have to find another solution.
[]D [] []D []
|
|
|
|
|
hi guys,
this is not strictly a programming question but i tought it is better to post it here than in the Lounge.
log files created by dr. watson on my machine do not contain information about loaded dlls, i.e. loaded module list is displayed (see block beginning with "(00400000 - 00414000)"), but there is no name displayed next to it.
anybody have an idea what might be the reason?
thanks
Application exception occurred:
App: (pid=1968)
When: 2/25/2003 @ 14:10:01.991
Exception number: c0000005 (access violation)<br>
*----> System Information <----*
Computer Name: NCZAG010
User Name: NC1
Number of Processors: 1
Processor Type: x86 Family 6 Model 8 Stepping 3
Windows 2000 Version: 5.0
Current Build: 2195
Service Pack: 2
Current Type: Uniprocessor Free
Registered Owner: Authorized User<br>
*----> Task List <----*
0 Idle.exe
8 System.exe
......
1644 VCSPAWN.exe
1968 test2.exe
1780 DRWTSN32.exe
0 _Total.exe <br>
(00400000 - 00414000)
(77F80000 - 77FFB000)
(77E80000 - 77F35000)<br>
State Dump for Thread Id 0x550
.......
|
|
|
|
|
I suspect you are missing PDB files for some of your modules. NOTE: PDB for system DLLs could be found on the CD where the system was installed from.
|
|
|
|
|
thanks for your response
i'm aware that the pdb files are missing, but shouldn't the dll names be displayed anyway? i believe that if the pdb/dbg files are available, their names are displayed in module list, but if they are not, then the module names are displayed
|
|
|
|
|
I might be wrong but if peace of executable code already loaded into memory (like in your example), there is no way for debugger to detect where it came from without pdb.
|
|
|
|
|
but debugger should be able to enumerate all loaded modules for the executable and their addresses (i.e. using EnumerateLoadedModules() or EnumProcessModules() APIs), at least i think so. of course, it can't map an instruction to correct source file/line without the symbol file.
|
|
|
|
|
Hi,
I need to store in an array or list, a dynamic number of IHTMLElementCollectionPtr's
The array/list needs to be dynamic as each collection represents a set of images from a web page. The number of open internet explorer's can vary, and the user should at any time be able to open up a new IE browser, and refresh my applicaton to represent the images from each browser.
I can't use new() on the pointer, because it is the address of the pointer that is supplied to the appropriate IE functions, i just need to create an array of raw pointers.
Is there something in the stl which can help me ? I cannot implement a copy constructor for IHTMLElementCollectionPtr's, so that rules out 'list' etc, and I can't use MFC's collection objects as it is not derived from CObject.
Any ideas please ? I've tried writing my own class to store these but i'd rather go with something tried and trusted.
Jase
|
|
|
|
|
Jase Jennings wrote:
I cannot implement a copy constructor for IHTMLElementCollectionPtr's
This requirement seems to rule out ANY STL container, as all of these rely on copying.
But IHTMLElementCollectionPtr is a smart-pointer to something COM-ish IIRC?
So it most probably already has a copy-constructor and reference counting?
If not, you can use the BOOSTlibrary and its shared_ptr -template, which can make any pointer into a reference-counting smart-pointer that is fully STL-capable.
My opinions may have changed, but not the fact that I am right.
|
|
|
|
|
((hi all,
I want to make a dll which runs on command line arguments....can anyone help me ..or can show any pointers..looking forward to a reply from you guys..
help me please...
thanks in advance..
cheers
Himanshu
|
|
|
|
|
Strictly speaking, you cannot run a DLL like it was an executable. Nevetheless, something similar can be achieved by means of rundll32 : Check MSDN article INFO: Windows Rundll and Rundll32 Interface[^].
Joaquín M López Muñoz
Telefónica, Investigación y Desarrollo
|
|
|
|
|
thanks a lot...
cheers
Himanshu
|
|
|
|
|
:(can you elaborate..or give me any pointers on why we can't pass command line arguments to dll..any help is highly appreciated...thanks in advance..
cheers
Himanshu
|
|
|
|
|
Hi
(1)I need to display multiple dialog, so i tried the following..which seem to work ok, except i need to click "OK" or close the dialog box before the next one appears.How can i make them appear all at once?
for(int i=0;i<numdlg;i++)
{
cdlg="" *dlg;
="" dlg="new" cdlg;
="" dlg-="">DoModal();
}
(2)How to i set the caption and position of the dialog boxes at runtime?
i tried using SetWindowText() to set the caption but it ran into error while executing.I've absolutely no idea how to set the position of dialog boxes at runtime.
|
|
|
|
|
(1) You need modeless dialogs to do what you want. Check your docs about these dialogs.
(2) SetWindowText is the way to go, but you cannot use it just after new CDlg ; first you've got to actually create the dialog. As for positioning, use SetWindowPos .
Joaquín M López Muñoz
Telefónica, Investigación y Desarrollo
|
|
|
|
|
1:
If you want them to appear "at the same time" you cannot use DoModal, you should use:
dlg->Create(...);
dlg->ModifyStyle(0,WS_VISIBLE);
2:
If you do it in this way you have to be able to change the caption using
dlg->SetwindowText("texahdfhsklfhsdal");
And if you want to move the dialogs, you can do it with dlg->MoveWindow(...); or with dlg->SetWindowPos(...); .
Hope this helps...
|
|
|
|
|
I've never tried using a modeless dialog before, so i'll have to spend some time experimenting with it. But anyway, will it pose a problem then, if i name all the dialog instances identically?
Thks all
|
|
|
|
|
raner wrote:
if i name all the dialog instances identically
What do you mean? the name of the variable that represents the dialog?
If you meant that:
you cannot do it because you'll reassign a new dialog to the same variable and this would generate memory leaks... (at it's best).
You must create an array of dialog variables and then assign the right one in the for clause in order to do what you want (see below)
CDlg dlgArray[4];
for(int i=0;i<4;i++)
{
dlgArray[i]=new CDlg;
dlgArray[i]->Create(...);
dlgArray[i]->ModifyStyle(0,WS_VISIBLE);
dlgArray[i]->SetWindowText(...);
} if you want to dynamically allocate a different number of dialogs you can take a look at the wrapper CArray (easy way to generate arrays of various kind of variables).
Well, I have no idea about if you meant that or not, but I hope this helps (my english is not my best)...
PS:
Remember the "rule": always that you've used a new you must use a delete. Or what is the same, whatever you create whatever you must destroy.
Sample: delete dlgArray[i];
|
|
|
|
|
I tried create() and then ModifyStyle(0,WS_VISIBLE)...however i've an OnPaint() for my CDlg and it doesnt seem to be called...why is that so and what can i do?
|
|
|
|
|
I think that for dialogs the best place to manage drawing issues is the OnEraseBackground...
But it's strange, could you paste some code?
|
|
|
|