Recent

Recent Posts

Pages: [1] 2 3 ... 10
1
It feels like no one here cares about FPC.

What makes you think that on the main forum for FPC?

I've also found a couple of bugs and I'm worried that some of them will be ignored if they are released together.

And did you report them?
2
There is no timetable.
I know the trunk version of fpc can make PE-64 files,so how long do the fpc publishs 3.3 stable version so I can use PE-64 format files as a UEFI bootable files?

But FPC already supports 64-Bit PE files for nearly twenty years already? After all it had been the first open source compiler to support Win64.
No,trunk is published in this year and only trunk supports 64-bit PE format files.

First of trunk is the current development version and as such it's never “published”. Releases will be split of from it, but even then there is no major release planned this year (only a minor release from the 3.2.x branch).

Second, no not only trunk supports 64-bit PE executables, cause otherwise FPC wouldn't be able to support Windows 64 and that is already supported for nearly 20 years as I said.

What is only support in trunk is support for Windows on ARM64, but that uses the same 64-bit PE format as AMD64 does (except for the machine type field and the relocations).
3
You are the best Jonas!!! Solved!!! Thanks a lot!!!!
4
The compiler has experimental MIPS64EL support, you'll probably have to cross compile however as I think the mips-linux distribution we provide as download is not the little endian one.

Assuming you have the correct binutils it should essentially be enough to do the following in a source distribution of FPC:

Code: [Select]
make all OS_TARGET=linux CPU_TARGET=mipsel BINUTILSPREFIX=mipsel-linux-gnu- FPMAKEOPT="-T <cores>" -j <cores>
make install OS_TARGET=linux CPU_TARGET=mipsel INSTALL_PREFIX=/where/you/want/your/compiler

The <cores> is the number of CPU cores you have and the prefix needs to match the one of your binutils.
5
General / Re: CORBA interface and Variants
« Last post by PascalDragon on Today at 08:35:43 pm »
But, the problem I was facing was that in order to use a COM interface, my class definition had to inherit from TInterfacedObject, but I also had to inherit from another class. To prevent that I used Corba.

You don't have to inherit from TInterfacedObject, but what you have to do is to implement the methods of IInterface/IUnknown (which is what TInterfacedObject does).
6
Using for in syntax for an array seems unnecessary and probably should not have been implemented. It makes sense for a set where items are in no particular order . I wonder why they added this bloated feature? Is it for delphi compatibility or something?

Yes, it was added due to Delphi-compatibility, but it's more than just iterating over arrays: you can also iterate through sets and strings, but with the use of enumerators you can also iterate inside classes or records. For example you can iterate through the strings in a TStringList or the objects in a TObjectList. Or you can create your own enumerators. It's a relatively powerful feature.

But I believe this:

Quote
Contrary to ordinary constants, a value can be assigned to them at run-time. This is an old concept from Turbo Pascal, which has been replaced with support for initialized variables.

 should only be possible in TurboPascal mode. In modes Fpc and ObjFpc should not be supported. Or this:

Quote
Support for assigning values to typed constants is controlled by the {$J} directive: it can be switched off, but is on by default (for Turbo Pascal compatibility). Initialized variables are always allowed.

in Fpc and ObjFpc modes it should be disabled by default.

The FPC and ObjFPC modes derive from the TP and Delphi modes and both had by default writable constants enabled, thus the FPC-specific modes had as well and nowadays this counts as backwards compatibility, so this will not change.
7
You have to compile with the -WM10.7 command line option
8
So yes, it is high time Free Pascal and Lazaru supports aarch64 targets on Windows - the only (and ironically, biggest) platform where they lack this support.

FPC 3.3.1 already supports aarch64-win64, however due to some bugs in the code generator that have yet to be investigated it can't cycle itself and thus is not really usable for developing larger applications (which includes Lazarus).

I would be in favor if Windows was available for ARM64 and supported various devices such as Raspberry Pi, Organe Pi, etc. I mean the real one, not a substitute in the form of Windows IoT (earlier RT and even earlier CE). But these are more of a dream. Porting WinAPI from AMD64/EM64T to ARM64 is years of work (if it is technically possible).

Ehm, you are aware that this is already the case for many years? I'm even running a full blown Windows 10 natively on a Pi 4 (see also the WoR project).
9
General / Re: Macros confuse error message line number?
« Last post by PascalDragon on Today at 08:13:25 pm »
In some situations, like the example below, the error message points to $define instead of actual line where the error has happened:

Correct, that is simply how macros work and we have no interest to change that.
10
LCL / Re: Form scaling
« Last post by fxeconomist on Today at 08:09:39 pm »
But it doesn't make any sense. If the Width property is in pixels, or in pixels relative to current UHD resolution, then hardcoding a Wdith/Height inside is a bad thing, right ? Cause these numbers would be really hardcoded to the UHD resolution and wouldn't change.
LCLScaling will make them change since the form stores the PixelsPerInch at which the form was designed. Knowing this all dimensions are adjusted automatically when the resolution changes.

In the Lazarus options ("Environment" > "Form Editor") there is a checkbox "Enforce DPI Scaling at designtime". This should be checked.

The thing is in CodeTyphon the Form Designer has navigation bars on the form, so I can make the form larger while its window remains smaller. When the application starts, the form is created at its full size.
Yes, that's the form editor. You can do this in Lazarus, too, when you install the DockedFormEditor package. I don't use it, so I can't tell which effect it has on LCLScaling.

Thanks for the tips!

Well, the LCL Scaling was there, and I went forward with the DockedFormEditor. It restored the familiar behaviour from CodeTyphon.
Then I tested it again. Went fullhd. Lazarus IDE messed up, but ran the app, and surprisingly, it was good on fullhd. Then went back to UHD and restored desktop!
Pages: [1] 2 3 ... 10

TinyPortal © 2005-2018