Virtual Pascal

Classic Object Pascal for free

If I manage to do a build of VP for general release, do you have a bugfix to some part of VP - the RTL being the most obvious candidate - that I should include?

I have already made the small change to VpSysW32 from the thread started by Robert - if you have any others, please post them as a reply to this thread. Please include a description of the change and include/attach the changed source and I will review it.

Note that this is not a general call for a list of bugs to fix or features to add - I'm still not working on VP :) I fixed a bug in the linker the other day though, and thought it would be nice to do a refresher build including that and other small changes that have accumulated over the years.


Views: 1059

Reply to This

Replies to This Discussion

Hi Stefan,

Instead of modifying System, why don't you just add those type definitions to use32.pas and make sure your code compiles in {&Use32+}?

Hey Allan.

At least one unit I "ported" requires {$USE32-}.
But since my project uses USE32+ anyway I could add use16 to that unit instead of
{$USE32-}. So, your suggestion might work too.

I didn't want to add these types to system, but it's the only place where I have the chance to add them in transparently, not caring for USE32+/- and use16.

Let's see what will be the better solution in the end.

All the best,
Stefan / AH
FPC allows something like that for programs (see param below), and there are some special cases (as a objpas/fpkylix unit that loads stuff that is only in system resp for Delphi and Kylix).

-Fa[,y] (for a program) load units and [y] before uses is parsed
-Sk Load fpcylix unit

The Delphi/ObjFPC modes load unit objpas.

But in FPC's case the "special" functions in system are marked with a directive (compilerproc), so the coupling is a bit looser.

When defining simple types in system, also define ptrint=<32-bit integer> and ptruint=<32-bit unsigned integer>.

FPC introduced these types as types that scale with SIZEOF(POINTER), needed for 64-bit, and they are used a lot. (more than qword or COMP I think)
i just wanted to state that the updd.exe update tool does not work on xp 64bit.
only 32bit binaries are allowed here. so please recompile that patcher to support win32 image format for the next build.
my vp installation always threw up a bunch of errors, i thought my delphi paths or something were not right until i finally found the cause. now i'm just installing everything in a xp32bit VM and copy the files from there.

i would really love to see vp getting further as it seems to be a great tool...supports even inlining..yummi.
so hopefully you reconsider and make the source available to the community.
more and more people start going away from pascal... you got the perfect tool to keep them ;)

//edit: upgrading VCL v5.01 unit files
verifying Classes, consts, sysutils -->> invalid file..? what could be wrong?
maybe using the popular DIFF format instead would make it clearer...
The updd tool is one I bought a LONG time ago, and I don't have the source for it. If it doesn't work in 64-bit Windows now, it never will...

Sorry :(
(this also goes for other dos binaries in the win32 distribution, no dos on 64-bit windows, save in emulators)

there is dosbox

The most used diff format is Universal diff, which is not particularly suitable when the target files are copyrighted, because it contains context from the target.

That's a pity, since the universal diff format has a way better chance of succeeding if the target files are only slightly different.
Sb asked me if the "repackage" is still on? I haven't heard of it in a while

Stefan Weber:

Int8 = ShortInt;
UInt8 = Byte;
Int16 = SmallInt;
UInt16 = Word;
Int32 = LongInt;
UInt32 = LongWord;

Since recently these are now standard Delphi ( Delphi XE, which is roughly Delphi 15 (they skipped 13), so they definitely need to be added :-)

> FPC defines .. ptrint=<32-bit integer> and ptruint=<32-bit unsigned >

And Delphi of course has to do it different and defined it as (u)intptr. Sigh.

These are all little changes, but it might help some people trying to keep codebases cross-compiler. (though recent Delphi's are very different due to their unicode string type)

If you ever decide to create build 280 :), would it be possible to give the hexcodes of the disassembled instruction in the CPU window a bit more space, most monitors nowadays are widescreen so it would be nice to see the whole instruction.


In a good two months from now, the respin effort reaches its 5 years anniversary :-)

Is there still movement in this ?

i'm having a problem getting the mouse to work in the last build 279


© 2022   Created by Allan Mertner.   Powered by

Report an Issue  |  Terms of Service