Page 1 of 2
[4.20] Compiler not working on Win95
Posted: Wed Aug 20, 2008 12:28 am
by Marlin
It seems the PureBasic Compiler v4.20 can not be used on Win95.
I just installed it on my Win95 box.
When I try to start the IDE, I get an error message:
Code: Select all
Fehler beim Starten des Programms
Die Datei PBCOMPILER.EXE ist
mit dem fehlenden Export-KERNEL32.DLL:IsDebuggerPresent verknüpft.
English:
Error starting the program
The file PBCOMPILER.EXE is
linked to the missing export KERNEL32.DLL:IsDebuggerPresent.
After that the IDE is shown, but the compile option is disabled.
I did not have any such problem with PB 4.10.
Is Win95 no longer supported by PB?
(I didn't read anything like that yet.)
Could this be solved by some kind of workaround?
Would the PB compiler still work with Win98?
Posted: Wed Aug 20, 2008 1:23 am
by Deeem2031
So with this function imported it will also don't work on Win98.
Posted: Wed Aug 20, 2008 1:26 am
by PB
@Deeem2031: It works with v4.10 though, so something in the PureBasic
package has changed with v4.20 to no longer support it.
Posted: Wed Aug 20, 2008 1:56 am
by Deeem2031
The 4.20 pbcompiler.exe uses IsDebuggerPresent(), SetUnhandledExceptionFilter() and others, which are functions that are not present on Win95/Win98. First i thought it some kind of anti-reverse-engineering, but i did some test and could not determine the purpose of using this functions. Let's see what Fred says

Posted: Wed Aug 20, 2008 8:26 am
by gnozal
I use PB4.20 without any problems here on NT4 : NT4 may not be in the m$ list, but IsDebuggerPresent() is exported by NT4's kernel32.dll ...
So maybe it's also exported by Win98's kernel32.dll (although it's not a NT family OS) ?!
Posted: Wed Aug 20, 2008 8:43 am
by Little John
I don't have Win 95 available, but I can tell that PB 4.20 runs fine here on Win 98.
Regards, Little John
Posted: Wed Aug 20, 2008 9:08 am
by gnozal
Little John wrote:I don't have Win 95 available, but I can tell that PB 4.20 runs fine here on Win 98.
Thanks.
You can't always trust MSDN :
http://www.answers.com/topic/isdebuggerpresent
http://www.sgr.info/dev/win32api/IsDebuggerPresent.htm
etc...
I had a similar problem with MakeSureDirectoryPathExists() : MSDN says it's not available on Win 95/98/NT ; the old Win32.hlp SDK help file from the same m$ says "The IMAGEHLP function set is an API for the Windows NT and Windows 95 operating systems" ...
Posted: Wed Aug 20, 2008 9:55 am
by Little John
Yes, M$ spreads misinformation about their own operating systems. It's a shame!
Regards, Little John
Posted: Wed Aug 20, 2008 9:59 am
by ts-soft
> "The IMAGEHLP function set is an API for the Windows NT and Windows 95 operating systems"
But IMAGEHLP is an optional install, so it's not always available

Posted: Wed Aug 20, 2008 10:11 am
by gnozal
ts-soft wrote:> "The IMAGEHLP function set is an API for the Windows NT and Windows 95 operating systems"
But IMAGEHLP is an optional install, so it's not always available

Yes, that's what I am told ; but I saw it on every Win98/NT4 system I checked, and it is on the Win98 install CD.
Posted: Wed Aug 20, 2008 10:14 am
by PB
ImageHlp is on all versions of Windows. Why they call it "optional" is beyond me.
Posted: Wed Aug 20, 2008 10:25 am
by ts-soft
I think the imagehlp was installed with the kodak photo ..., this is
default but optional, so you can uncheck the install.
Posted: Wed Aug 20, 2008 11:15 am
by gnozal
ts-soft wrote:I think the imagehlp was installed with the kodak photo ..., this is
default but optional, so you can uncheck the install.
kodak photo !?
If think the 'Image' in ImageHlp is for PE image like in 'Portable Executable' and not like in 'Picture'.
Posted: Wed Aug 20, 2008 11:38 am
by ts-soft
One of the optional, but default components brings the required dll, but i am
not sure of what component this is.
Posted: Wed Aug 20, 2008 11:40 am
by Kaeru Gaman
what is the filename of "ImageHlp" and where should it be located?
... just curious ...