Hi
Before anyone shout out that this OS is not supported and what not, actually what I am trying to do is to figure out if it is possible to remove some part in the source (or change it) to compile the IDE.
Background:
I tried to recompile the IDE 1.4.4 on a physical Windows 98SE, 512MB RAM, AMD Athlon 3200+ and all unofficial updates and patches that exists to this day (as far as I know). According to the documentation that exists it should work, but I came along some problem, a call to Process32FirstW in kernel32.dll I think (which came with XP?) that function name does not exist on W98:Kernel32.DLL, or if it does it throw an error when launching lazarus IDE. as far as I know it is named Process32First there.
So I run a search in the source files and found that the call was made from (pasted from agent ransack)
debugattachdialog.pas H:\DEV\lazarus\debugger\ 2015-01-09 11:33:13 9 KB Pascal Source Code 1 jwatlhelp32.pas H:\DEV\lazarus\fpc\2.6.4\source\packages\winunits-jedi\src\ 2010-04-30 15:01:55 19 KB Pascal Source Code 9 |
As you can see, there is two references, my question is (based on the names of the files) is it possible to remove those references (or files) and still get the IDE to work?
Or perhaps modify the reference to take the Win98 function
in debugattachdialog.pas the call is made like this
{$ifdef WIN9XPLATFORM}
Result := False;
{$else}
Result := True; // we can enumerate processes
if not Assigned(AList) then
Exit;
hShot := CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
if hShot = INVALID_HANDLE_VALUE then
Exit;
try
FillByte(pe, SizeOf(pe), 0);
pe.dwSize := SizeOf(pe);
if Process32FirstW(hShot, pe) then //<------------ NOT CORRECT OR?
repeat
item := TRunningProcessInfo.Create(pe.th32ProcessID, pe.szExeFile);
AList.Add(item);
until not Process32NextW(hShot, pe); //<------------- NOT CORRECT OR?
finally
CloseHandle(hShot);
end;
{$endif}
the function arguments for the Win98 seems similar to the latter OS versions (only the name differs) is it possible to change this without breaking something else or do you have other method to use when fixing stuff?
And btw, I am not a pro coder, more like a scriptie elderly - so I am not to familiar with deeper OS and system stuff, or how lazarus works behind the sceene...
I hope someone understand what I am trying to achieve here, and hopefully can give some advice. Thank you.