Jump to content

BenoitRen

Member
  • Posts

    977
  • Joined

  • Last visited

  • Donations

    0.00 USD 
  • Country

    Belgium

Posts posted by BenoitRen

  1. Onboard sound cards are decent for regular usage, like listening to MP3s and playing games, but crappy for anything else. People will tell you how much better today's onboard sound cards are than the old SoundBlasters, but they're looking at features (quantity), not quality.

    For instance, the onboard sound card on my Windows XP PC is fine for listening, but its microphone input quality is rubbish. The SoundBlaster 16 I have on my old Windows 95 PC is good at both.

  2. I'm still running Windows 95 (hurray!) but there's one problem I haven't been able to solve.

    If I insert a SanDisk USB flash drive while the system doesn't know it, it'll detect it and allow me to use it. However, if the system already knows it, the system will hang. Ctrl+Alt+Del will show MSGSRV32.EXE not responding. Terminating it makes the system responsive again, but the USB flash drive isn't accessible. In fact, USB doesn't work any more, period.

    I've worked around this problem by removing the registry keys that referred to the USB flash drive each time. But if I'm transferring large files, the system will eventually hang as well. After consulting ToastyTech I found out that my network card and USB are sharing an IRQ.

    Today I moved the network card to a different PCI slot. It doesn't share an IRQ with USB any more. Yet my system still hangs when I insert a SanDisk USB flash drive. I've therefore concluded that might have something to do with my version of MSGSRV32.EXE. It's version 4.00.1112 (Dutch) that I downloaded long ago. Ironically, it's supposed to fix "Possible MSGSRV32 crash on new Plug & Play device detection".

    I want to try a different version of the file, preferably 4.00.1111 or 4.00.1113. Does anyone have it or know where I can find it?

    Thanks in advance.

  3. I'd go with a dualboot solution.

    One small partition formatted as FAT16 with DOS 6.22 for those old DOS games that need real DOS and as much of the 640 kIB of conventional memory they can get.

    The second partition formatted as FAT32 with Windows 95B/C or Windows 98. It depends on what your Windows games need. If there's a game that requires at least Windows 98, go for that. Otherwise go for the faster and more stable (at least with no IE around) Windows 95.

  4. When I said "Windows 95 original retail release", I meant the very first version. Windows 95A is another beast as it has been fixed with an entire service pack of updates.

    USB works fine on Windows 95. I can use USB flash drives with it. One type gives me problems, but I'm suspecting it has something to do with the version of MSGSRV32.EXE I'm using, which is what I came back for. :)

  5. Unfortunately, I couldn't reply to that forum thread. Maybe it's for the best, as such closed-minded people aren't likely to listen. Revisionism at its finest.

    wsxedcrfv, the page you linked lists stats for that site only. It is not a reference for web browser statistics for the entire web.

  6. The unresponsive script prompt is getting more common because an increasing number of websites throw tons of JavaScript at the web browser, a large part of it being third-party, most commonly the jQuery library. If the script takes too long to execute, the prompt will also appear.

    How often it pops up depends on the speed of your browser's JavaScript engine, and your computer's speed. Browsers' JavaScript engines have become a lot more efficient in the past couple of years, but not all of us can run the newer browser versions that ship with them.

  7. My current systems are no longer XP capable (XP 64 yea' date=' But the first 64 windows really bites the big one) With the ability to have quad, 6 and even Quad-CPU setups the older OS's simply fall to the roadside. Sure they can make guesses at what the future will hold but they are only guesses.[/quote']

    Not capable in what way? XP does support multiple processor cores.

    Get into graphics or game development. You'll use up loads then.

    Not all of that is state of the art, bleeding edge that it requires loads of RAM. My 160 MB of RAM is more than enough for game development, thank you.

  8. Windows 95C? Hey, I run that. Let's see what I have...

    • 259728dut5.exe (IP Fragment Reassembly fix, Dutch version)
    • DX80dut.exe (DirectX 8.0a, Dutch version)
    • iosysdut.exe (Less Conventional Memory Available in European OSR2 fix, Dutch version)
    • mpfull.exe (WMP 6.0, one of the last versions with no IE integration)
    • Win95-Y2k-Dutch.zip (Y2K update, Dutch version)
    • wmp6cdcs.exe (additional codecs for WMP6)

  9. I'm having a problem with this again. When I change the active tab's text, the richedit control doesn't get redrawn. I thought the solution would be to use the UpdateWindow function on the richedit control's handle, but this doesn't always work.

    When my application detects that the text in the richedit control has been changed, it changes the tab text to the file name plus an asterisk. In this case calling UpdateWindow works.

    When I save the current file and change the tab text to the file name without an asterisk, calling UpdateWindow doesn't work. The richedit control doesn't get redrawn.

    I've looked through my code and it doesn't look like it's the result of anything I'm doing.

    It's not the only redrawing problem I'm having, but it is the biggest one. **** it, this is such a pain. :(

  10. What's the PostBack javascript function.

    It's a JavaScript function that ASP-generated web pages typically have to validate form information' date=' send it to the server, and change the page accordingly. This way the web browser doesn't have to load a new page with the result of the form info.

    In short, it makes web pages interactive.

    AFAIK all you need is the submit button. In fact you can create a form without any javascript.

    Yes, but a form needs to have a destination address in advance to transfer to when the form is submitted. Using the method I described above negates this.

    I was skeptical because the browser reacted as it didn't send the infos at all.

    The form is coded to call the PostBack JavaScript function on form submit. This function wasn't found, so the entire process was halted. The form information is not sent.

    Tripredacus, that's ASP for you. ;)

  11. What you say is true, so I've made the tab control the parent of the riched20 control. It now draws properly! Thanks a lot. :)

    The code sizing my controls doesn't work anymore, though. I guess it's back to using SetPosition().

    I have one concern, though. One reason I've read why others don't do this is because you won't get any messages from the child control. The tab control will get them instead. The only message I need from it is when its content have been changed.

    Thanks for the bug report about the font handle; I've fixed it.

  12. Unfortunately, most server-side backends suck. It's often not even a good idea to use them, as most of the content is still static, yet a lot of websites keep re-generating the same pages.

    Since when was hand-crafted HTML a mad scientist's skill? How rude. I remember the days when pretty much everyone hand-crafted their pages and they got along just fine, even if not everyone had a good sense of style. Remember GeoCities?

    There's a reason most websites that use a server-side backend suck; they don't know what they're doing.

  13. Issues like these with ASP-generated web pages are usually caused by web browser sniffing by the ASP framework. If it doesn't recognise your user agent string then for some reason it doesn't include the PostBack JavaScript function that makes the form work. If you use SeaMonkey or Firefox you can easily verify this with the Error Console. There'll be an entry like: "__PostBack is not defined".

    I've actually been on the phone with an online store about this issue, but of course the problem is always with the customer's computer. I had to claim that I'm a professional web developer (which I pretty much am, minus a pay check) to get the guy on the other side to accept that maybe it wasn't my configuration's fault. I asked to pass the issue on to the web development team, but he probably never did. *sigh*

    I solved my problem temporarily on that site by temporarily changing my user agent string to Firefox'.

  14. I'm programming a small application that has a tab control with riched20 controls on it. When it first starts, there are no controls in the main window. Here's what happens:

    • I choose to open a file through the open file dialog
    • If the tab control doesn't exist yet, it is created and made to fill the entire window
    • A tab is added to the tab control
    • A riched20 control is created and positioned on top of the tab control
    • The file contents are streamed into the riched20 control

    The result is a tab control with what seems at first an invisible riched20 control, though its scroll bar is visible. If I click in it, I see the caret, so the control is there. If I scroll it, the text that was out of view gets scrolled onto the screen. If I click on the scroll bar arrows, they appear. I notice that the editor doesn't fill the tab control; there's some unoccupied space at the bottom.

    If I resize the window in any way all the controls are positioned and drawn correctly. There's some kind of initial painting problem going on. I tried putting the code that does the resizing properly in a separate function and calling it after opening the file, but the problem doesn't go away.

    Here is the code that executes after picking a file:

      RECT tabControlRect;
    GetClientRect(mWindowHandle, &tabControlRect);
    if (!mTabControl) {
    mTabControl = new TabControl(mWindowHandle, mInstanceHandle,
    tabControlRect);
    }
    unsigned int tabIndex = mEditors.size();
    mTabControl->addTab(tabIndex, fileName);
    HWND tabControlHandle = mTabControl->getHandle();
    TabCtrl_AdjustRect(tabControlHandle, FALSE, &tabControlRect);
    RECT editorRect;
    editorRect.left = tabControlRect.left;
    editorRect.top = tabControlRect.top;
    editorRect.right = tabControlRect.right - tabControlRect.left;
    editorRect.bottom = tabControlRect.bottom - tabControlRect.top;
    Editor* editor = new Editor(mWindowHandle, mInstanceHandle, editorRect);
    editor->loadFile(filePath);
    mEditors.push_back(editor);

    The code that creates the tab control:

      mHandle = CreateWindowEx(NULL, WC_TABCONTROL, "", WS_CHILD | WS_VISIBLE, aRect.left, aRect.top, aRect.right, aRect.bottom, aParentWindowHandle, NULL, aInstanceHandle, NULL);

    The code that creates the riched20 control:

      mHandle = CreateWindowEx(0, "RichEdit20A", "", WS_CHILD | WS_VISIBLE | WS_HSCROLL | WS_VSCROLL | ES_AUTOHSCROLL | ES_AUTOVSCROLL | ES_MULTILINE | ES_NOHIDESEL, aRect.left, aRect.top, aRect.right, aRect.bottom, aParentWindowHandle, NULL, aInstanceHandle, NULL);
    if (mHandle == NULL) {
    MessageBox(NULL, "RichEdit control creation failed!", "Error!", MB_ICONEXCLAMATION | MB_OK);
    }
    SendMessage(mHandle, EM_EXLIMITTEXT, 0, -1);
    SendMessage(mHandle, EM_SETEVENTMASK, 0, (LPARAM)(DWORD)ENM_CHANGE);
    HDC hdc = GetDC(NULL);
    long lfHeight = -MulDiv(12, GetDeviceCaps(hdc, LOGPIXELSY), 72);
    ReleaseDC(NULL, hdc);
    HFONT fontHandle = CreateFont(lfHeight, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "FixedSys");
    if (fontHandle) {
    SendMessage(mHandle, WM_SETFONT, (WPARAM)fontHandle, MAKELPARAM(FALSE, 0));
    DeleteObject(fontHandle);
    }

×
×
  • Create New...