1. As far as I know, there are no free pascal (or Freepascal) libraries working
with PDF consistently.
However, open-source xPDF and Ghostscript (C/C++) do process PDF files (with
some glitches, though).
Full PDF reference is available from Adobe, 1.7 (Acrobat 8) included.
There are some
on. As of 2.1.1, it won't matter anymore either since the compiler
will always accept the inline specifier, but only actually do
something with it if inlining is turned on.
Is there a way to know (in terms of $if etc.) that compiler actually does
something?
Implementing it for all cases is non-trivial and has low priority.
Actually, implementing the warning is easy, but always adding the
reason why it isn't inlined is more difficult.
Jonas
I think, that there are many reasons, which will not help me a single bit.
However, reliable warning
However, reliable warning without explanations seems to be a good
thing.
How? I think it's completely useless if you have no idea what it's
caused by and what to do about it.
Jonas
Because I know, that I have to fiddle with program structure or something. One
less reason to look into
The one missing FPC program measures the speed and abilities of the regular
expressions engine from language distribution.
Tonow FPC one has not enough abilities, but the engine may be written even
exclusively in assembler or C: what matters is whether it is present in the
distribution and has
Is there a canonical way to reserve memory for a dynamic array?
When there are several slowly growing dynamical arrays I encountered severe
performance drop (probably, they tried to overlap each other many times).
Setting estimated length and navigating with extra counter inside each of them
IF (((NDum) MOD 4)0) THEN
BLOCKWRITE(OutFile,Pixel,SIZEOF(Pixel));
IF (((NDum + 1) MOD 4)0) THEN
BLOCKWRITE(OutFile,Pixel,SIZEOF(Pixel));
IF (((NDum + 2) MOD 4)0) THEN
BLOCKWRITE(OutFile,Pixel,SIZEOF(Pixel));
1. If NDum = 4k (e.g. 12=4*3), you write two times; if NDum
Is it a bug or just a feature, that when compiled with -gcl options, program
does not report line of range check error (sorry, but I have neither tested it
thoroughly nor checked compiler sources)?
___
fpc-pascal maillist -
I have a question concerning connecting FreePascal function with Delphi
application (under win32).
I hope I'm totally wrong in my approach and so hope for some help.
1. DLL files created by FPC 2.0.2 are not usable under Delphi forms (there are
about 5 posted unfixed bugs about it by different
Florian Klaempfl wrote:
Пётр Косаревский wrote:
3. Connecting object file is difficult: FPC doesn't support OMF (object
files), and in FPC 2.0.2 support for COFF (object files) seems to be
dropped. FPC produces PECOFF (object files).
FPC supports OMF by using NASM/MASM/TASM as assembler
-Original Message-
From: Jonas Maebe [EMAIL PROTECTED]
On 4 apr 2006, at 11:14, Пётр Косаревский wrote:
How do you transfer these pointers and what are you trying to
accomplish? You generally cannot transfer pointers from one running
program to another. It may work by accident
Tom Verhoeff wrote:
Can someone explain to me under what circumstances FPC will (attempt to)
recompile a unit for which *.ppu and *.o are already available?
I couldn't find this in the documentation.
Wrong target (OS) or incompatible compiler version, usually. Vote for:
In online docs, programmer's guide, 11.3 I read, that either -O3 or -Ou enable
uncertain optimizations. It seems to me, that only -Ou is to be mentioned
(compiler tells, that -O3 is just strenghtened version of -O2).
When I tried to submit this report, spam entry not allowed turned out.
How can one use gprof under win32?
While it is possible to download one or another gprof, fpc reports linking
error: ld.exe: cannot find -lc.
___
fpc-pascal maillist - fpc-pascal@lists.freepascal.org
At 09:54 17-4-2006, you wrote:
How can one use gprof under win32?
While it is possible to download one or another gprof, fpc reports linking
error: ld.exe: cannot find -lc.
gprof only works under cygwin
Peter
Is there any common way of profiling under win32 with freepascal?
(One way is
While it is possible to download one or another gprof, fpc reports
linking
error: ld.exe: cannot find -lc.
gprof only works under cygwin
Peter
Is there any common way of profiling under win32 with freepascal?
(One way is obvious: getting timestamps before/after long procedures,
Is there any easy way to create big array of constants?
Does it matter (with maximum optimizations switches), if my 50 Kb array is
defined as constant?
That is: are there benefits from defining heavily used array as const versus
defining it as variable and filling data by program?
(For
Win32, i386.
In FPC 2.0.3 -Oa option is described as type=values.
This is hard to understand. What should -Oa=16 mean?
Probably, it could be better decribed.
(If I get it right, the type means code or data, and values are not alignment
values for individual types. Even if so, I didn't
I do neither use Lazarus, nor MSEide, but if executable size is really
important, there is something called KOL (I didn't use it either). As I have
read, it's currently compilable by FPC.
Speaking of bigger applications, I don't see much difference between 6 or 30 Mb
executables...
Now: I have downloaded evaluation version of intel VTune 8.0 and tried to
debug/optimize an application with it. It does not recognize symbols in FPC
module (function names etc., source is not supported too). Still, it does work
with Delphi, for example.
History: Long ago someone complained
Sorry, eight questions ahead (first two are important to me).
-Original Message-
From: Florian Klaempfl [EMAIL PROTECTED]
To: Пётр Косаревский [EMAIL PROTECTED],FPC-Pascal users discussions
fpc-pascal@lists.freepascal.org
Date: Tue, 25 Apr 2006 09:57:55 +0200
Subject: Re: [fpc-pascal
Пётр Косаревский wrote:
Sorry, eight questions ahead (first two are important to me).
Well, only WHAT I NEED TO RUN GPROF UNDER WIN32? and WHY cannot find -lc
WHEN COMPILING WITH GPROF SUPPORT? are real questions. Others were like minor
info/bug reporting (not important to me).
Last time
Last time I used gprof on win32, it worked fine?
Is it normal, that compiler (linking stage) tells: ...ld.exe: cannot find
-lc and fails? (I thought about installing cygwin, but I don't understand
what do I need from it.)
Just guessing here: Most probably libc.dll? Better to be
Jonas
Thank you, it was very clear (except bug 4929, and I can kinda answer that
question myself: probably if -CpPENTIUM4 is specified, optimizations are
automatically for Pentium4).
___
fpc-pascal maillist - fpc-pascal@lists.freepascal.org
ON TOPIC:
maybe shipping with FPC cygwin runtime libraries for gprof wouldn't harm?
Because:
1. Some are shipped (for FP --- IDE)
2. If I am right, libc, libgcc, libgmon and libkernel32 are needed, they
shouldn't be weightier than some rarely used binary utils
3. Full CYGWIN
These are pretty big when taken together.
... ... An optional downloadable package
would probably make more sense though.
Yes. Hint, link and package/link to smallest possible set of libraries would be
better. I am not experienced with many things, so this was pretty confusing
(can't find
for libgdb.a needed for our IDE as well). OTOH, if we ship gprof.exe, we
should probably ship the needed libraries and vice versa, it doesn't make
too much sense as it is now...
By the way: I don't use IDE (it is not handy due to many issues that are not
bugs), but when I tried, it completely
But the result is useless without Valgrind (no more useful than a
regularly compiled binary at least), just like compiling with -gd is
Jonas
Just as compiler without a linker.
What about user friendly filelist I mentioned?
(Now that I know why and how cygwin is needed, I'll install it
Yes. Hint, link and package/link to smallest possible set of libraries
would be better. I am not experienced with many things, so this was pretty
confusing (can't find -lc --- maybe I'd decipher libc, but -...).
The compiler can also generate code for e.g. FreeBSD,Darwin and Linux.
On 4/27/06, Пётр Косаревский с mail.ru [EMAIL PROTECTED] wrote:
2. Freepascal is too marginal to support.
(But I like it.)
They support Adium, a instant messenger I had never ever heard about.
Also Adium only works on Macs.
They also support various other extremely marginal software
I use something like
var a: array of byte;
setlength(a,TheSize);
blockwrite(afile,a[0],TheSize);
Of course, if it is possible that TheSize=0, I have to write if TheSize0 then
blockwrite(...);
Is this the intended way? (Ok, that's not a big overhead, but it seems strange
to me.)
What is the
Is there high level operator/(inline)function for rotating bits?
Am I supposed to implement rotating bits (like ror/rol in i386 asm) by inline
assembler or some ugly workarounds (shifts and or-s)?
___
fpc-pascal maillist -
On 24 mei 2006, at 10:56, Пётр Косаревский wrote:
Is there high level operator/(inline)function for rotating bits?
No.
Am I supposed to implement rotating bits (like ror/rol in i386 asm)
by inline assembler or some ugly workarounds (shifts and or-s)?
Yes. I think there's already
I don't know how to use ret to achieve the same goal with fewer
commands.
Well, if I get it right (and it works on my system), the last lines:
movb %al,result etc. (6 times) should be commented out.
___
fpc-pascal maillist -
With register calling convention (which is the default calling convention
in FPC 2.x), it can be reduced just to:
function brol(b: byte; c: byte): byte; assembler; inline;
asm
rolb %cl,%al
end;
(and similarly for all the other functions). The first parameter goes to
eax, the second to
With register calling convention (which is the default calling convention
in FPC 2.x), it can be reduced just to:
function brol(b: byte; c: byte): byte; assembler; inline;
asm
rolb %cl,%al
end;
(and similarly for all the other functions). The first parameter goes to
eax, the second to
But the problem with ROR/ROL is that any real use over shr/shl uses a hard
to model carry flag?
Ugh, I don't understand well, but the talk is about rotating bits, no low level
features like CF are requested (it doesn't mean very much if you rotate by
several bits).
Who talked about CF? I
Well, if we're going in that direction anyway:
Why not include all possible assembler instructions then ?
Because some of them are not designed for calculations. But ror/rol are.
Let's be serious. You must draw the line somewhere.
I think these instructions are so exotic, they are pollution
bzip2 has similar compression rates (except maybe for multimedia
files, which isn't the case) and 7zip/LZMA usually compresses better
than RAR.
7zip isn't installed by default in any distro AFAIK, but at least it
open source.
RAR would be my last option...
I tried to benchmark a little.
The problem is that Apple's universal interfaces also include a
round function, which returns a real instead of an integral type.
How can one find such a thing himself without trialerror?
Some time ago I had a similar problem with bool DeleteFile(PChar) function in
Windows API and
The compiler already gives unit information in case you have
conflicting types for making it easier to debug such problems. I
don't see why it shouldn't do the same for used function definitions.
Jonas
program A; // Bad program
uses sysutils,windows;
const B:shortstring='1.txt';
begin
Correction: Rar produced 212 Mb on OO 2.0.2 sources, but using force text
compression makes it produce 206 Mb with not really big time overhead.
Then try one of the last compressors as PAQ8, your OO 2.0.2
sources will take days in compress, but i think you can get 140-150
MB or even less
To save your time, you should limit your tests to:
It doesn't take much human time.
1. Command-line tools.
Creation of installs is automated.
GUI tools cannot be used in automated builds.
2. Completely cross-platform.
For obvious reasons.
3. Completely Open source.
For
Just a question about programming practice:
How can I disable overflow checking for a couple of operations?
I use something like that:
{$DEFINE CHECKINGS}
{$IFDEF CHECKINGS} --- of course, this block can be much bigger
{$R+,S+,Q+,V+}
{$ELSE}
{$IMPLICITEXCEPTIONS ON}
{$R-,S-,Q-,V-}
Thank you for advices!
Probably, I'll stick to global definitions.
It seems, that {$IFOPT} doesn't help conserve space when you have to switch
checks somewhat often, while greatly helps write code fragments for injection.
(A line starting with {$Q-}, then simple expression, ending with some
A friend of me wants to write a program which uses a GUI frontend and a
backend, which actually does the work.
The reason is that the backend shall also be usable from the command line,
without any GUI, to make it working on more platforms without having to make
changes on it. So it will be
This will move the menu's to the left. I am no graphics artist, but I
think it looks better on the right.
Regards,
- Graeme -
Yes, website looks new and polished.
I personally prefer darker-softer colors that were there before, but it is
definitely great, that someone does change the
From: Пётр Косаревский[EMAIL PROTECTED]
To: FPC-Pascal users discussions fpc-pascal@lists.freepascal.org
Subject: Re[2]: [fpc-pascal] Code example needed, please!
I have code only with window messages and shared memory (if you don't want
it, tell; otherwise I'll post some about an hour later
Currently you cannot inline assembler routines, it is a known restriction.
I didn't get this one message.
If nothing else, you can skip the stack frame generation using
nostackframe keyword. Not that it would help that much probably...
Tomas
Oh, well.
Thanks for the answers.
What other details should I give for somebody to give me advice.
I guess this might be enough for somebody to try - I personally have
absolutely no idea what kind of charset is used/expected when printing via
Write(Ln) to Lst under Windows, but this shouldn't be difficult to check?
Do
These are Pascal interfaces to C packages. In general there is no
Pascal documentation available. However, since they are straight
translations the C documentation should apply almost literally to the
Pascal versions.
Jonas
Is there a note/memo about types mapping?
There should be
Why does sysutils use CharUpperBuff() user32.dll function instead of
CharUpper(): it does not check the return value?
(last 2.1.x SVN)
---
By the way: (from MSDN regarding CharUpper()) Return value...There is no
indication of success or failure. Failure is rare.
Yes, it is a problem.
I often have problems finding the cursor in the IDE.
I stopped using IDE after acquiring LCD monitor because of this feature.
It does not use lines longer than 132 symbols even when started in console mode
with such dimensions (WinXP-sp2, FPC 2.0.4rc2, I like using 160
Yes, you do. :)
Nevertheless
some_type = record
case Something : byte of
1: (x,y: word);
2: (z: longword);
end;
Thank you, Jonas and Vincent, but I was vague: what I want is blockread'ing, so
I have to use
record
Something: byte;
case byte of
1: (x,y:
Vinzent H?fler Probably you should used a packed record, though. And it's
in no
Vinzent H?fler way portable, of course.
Also correct.
Jonas
I use
{$A-}
abc= record
something: byte;
case byte of
1: (a,b: byte);
2: (c: word);
end;
{$A+} // or even a: byte;
Yes, there is a language feature called object orientation. But still
that means you would have to translate the binary structure into a
class instance somehow.
Vinzent.
The object I presented compiles well, but there is almost no gain in OO
approach: I still have to nest structures and
It's on my todo list to implement such checks (when enabled by a
command line switch, of course). It's not that easy as it may look at
first sight though.
Jonas
It's great news!
However, in the case of such checks, ability to explicitly place tag variable
in the record structure or to
That would be more easily doable than the above, though again it
would break compatibility with other Pascal compilers afaik.
Jonas
I thought so.
But FPC isn't very compatible as it is: if you don't care for compatibility
much, Delphi won't compile a program. Of course, TP will fail too.
It's not because you don't pay me, or because you cannot demand
anything from me or anyone else working on FPC, that you do not have
influence on the project or even on what I do (both positively and
negatively).
Jonas
If I get it right, I don't have the influence, mainly because I
About contributing: is it useful to comment some parts of documentation (html
with comments) with improvements, corrections or compilable examples?
It's not because you don't pay me, or because you cannot demand
anything from me or anyone else working on FPC, that you do not have
About contributing: is it useful to comment some parts of documentation (html
with comments) with improvements, corrections or compilable examples?
For example, would it be meaningful to add an example on the discussed matter
with a comment stating, that there are no such checks tonow?
Hi,
How good is the threading support in Free Pascal? I'm using 2.1.1. I
haven't used threading before under FPC and am about to revamp an
in-house application to support mutliple threads. I don't want to
start the app and then find out that there is some major stability
issues with
I would first port one or
two of the top 10 threading applications that was submitted to Borland
in a Threading Contest which Borland held in 2002. Search Borland's
CodeCentral or I could post the link. There are some good threading
examples available. :-)
I have troubles searching.
Although fpc has a regexpr unit:
http://svn.freepascal.org/svn/fpc/trunk/packages/base/regexpr/regexpr.pp
It has many todos, such as adding support for | in the search expression. So
this
unit doesn't have enough functionality.
While '|' support is to be considered basic regex
Basic seems to be: |()?*+ (non-UNICODE) support (from wikipedia).
| is not basic afaik. From re_format BSD Manpage:
Obsolete (``basic'') regular expressions differ in several respects. `|'
is an ordinary character and there is no equivalent for its functional-
ity. `+' and
Then there is also synregexpr.pas:
http://svn.freepascal.org/svn/lazarus/trunk/components/synedit/synregexpr.pas
But that is not distrubuted with fpc. And I don't know, if the license is
open
source. Is it looks likes a BSD derivative, but item 3, about income, doesn't
seem
to fit in.
On Tuesday 14 November 2006 22:28, Jonas Maebe wrote:
There's a unit called ctypes in the rtl with all these types defined
(prefixed by c, i.e. cshort, cchar, clong, ...)
Why does rtl-documentation
(http://community.freepascal.org:1/docs-html/rtl/index.html) lack its
description?
(it
Why does rtl-documentation
(http://community.freepascal.org:1/docs-html/rtl/index.html) lack its
description?
(it mentions 36 out of 48 base rtl units if I get it right)
Some units are difficult do document and require some qualification.
In the case of ctypes, I ran fpdoc.exe
whatever else? Thanks.
well.
DaniКl
How should one submit bugs with website?
Mantis does have website bug category, but I suspect (from your maillist
activity level compared to mantis\bug response), that you don't get all the
messages fast enough.
-Original Message-
From: Пётр Косаревский [EMAIL PROTECTED]
To: Jonas Maebe [EMAIL PROTECTED]
Date: Mon, 27 Nov 2006 13:22:14 +0300
Subject: Re[4]: [fpc-pascal] freepascal.org
We get all the submitted bug reports immediately. That does not mean
that they are handled immediately
The your report about the incorrect count of translated messages is
DaniКl
You simply answer maillist questions so fast, that I became suspicious, that
you didn't receive a bug submitted to the Mantis.
I understand that there are many things to do with website, and I don't think,
that
is there a way to always get the english version of the site when I open
www.freepascal.org in
my browser, independnetly of my current locale and my IP address and whatever
else? Thanks.
Alexey
It seems, that many browsers have languages settings button, but work
differently.
While
72 matches
Mail list logo