Florian Klämpfl wrote:
Am 30.12.2011 02:00, schrieb Martin:
Florian wrote at http://bugs.freepascal.org/view.php?id=20907
c:\fpc\svn\compilerfpc ..\tw20907 -vw -Oodfa
Is that documented somewhere ? Is that production read or beta?
Beta. I'am not aware of any missing stuff, but it's mainly
Florian Klaempfl wrote:
Am 19.04.2011 15:18, schrieb Marco van de Voort:
You'll need to runtime test for SSE3 though. Since the first
generation of
athlon64's (clawhammer and friends, socket 751 or so) doesn't have SSE3.
For such a relatively expensive operations, one runtime check per
Paul Ishenin wrote:
01.03.2011 19:29, Jonas Maebe wrote:
That sounds very much like badly written code.
For simplicity we had the next code:
GetMem(SomeArray, Count * SizeOf(ArrayCell))
if SomeArray nil then DoSomeLogic;
DoSomeLogic ... with a Count = 0, right? or was Sizeof(...) = 0? :-)
Graeme Geldenhuys wrote:
am saying is that in the current released Delphi versions (at least down
to D7, probably D6 too) this feature works. The mouse cursor trick using
the same Interface behaviour has been in tiOPF code for years, and I think
that's where I saw it first.
Should FPC be
Graeme Geldenhuys wrote:
same application behaviour and outcome, using the same source code. That's
got nothing to do with performance as far as I'm concerned.
Because you're a brainless moron.
Micha
___
fpc-devel maillist -
Graeme Geldenhuys wrote:
a managed code environment with garbage collection. So I guess most
developers would expect common out of scope rules apply. When a local
variable is defined and you leave that method/procedure, it's out of scope.
*picky mode* exactly this is true for FPC as well. But
Florian Klaempfl wrote:
Anyways, why do you want to do the same change twice? Just make it once
and merge.
In a distributed environment this is more common, like: person B
partially pulls (some commits) from person A, and person C pulls from
both A and B. Or a diamond where B and C pull
Florian Klaempfl wrote:
Micha Nelissen schrieb:
In a distributed environment this is more common, like: person B
partially pulls (some commits) from person A, and person C pulls from
both A and B. Or a diamond where B and C pull from A, and D pulls from B
and C.
Yes, but those are merges
Adem wrote:
I did some rough + emprical (i.e. non-exhaustive + non-authoritative)
tests with the native memory managers of
-- x64 FPC (v2.4.3)/Lazarus (v0.9.29-26670),
-- Delphi (2010),
So this is 32 bit vs 64 bit?
Micha
___
fpc-devel maillist -
Jonas Maebe wrote:
Total memory usage barely changes (from 297MB to 299MB). I guess it's no
For the compiler use case .. ;-) Perhaps the compiler creates a lot of
same sized blocks, while other (smaller) applications allocate many
different sizes; say use a lot of different sizes classes.
Jonas Maebe wrote:
256kB on 297MB isn't much; but if a program has typical memory use of e.g. 3MB
it is significant ;-).
They could still change it in their application's startup code. We could also
set a different default for the embedded rtl.
I think applications using 300MB+ are the
Marco van de Voort wrote:
In our previous episode, Micha Nelissen said:
I think applications using 300MB+ are the exception, not the rule;
In absolute numbers: sure. In cases where memory management performance is
limiting, they are more likely to be memory intensive apps.
How do you know
Jonas Maebe wrote:
All applications but the ones that allocate a only few memory blocks
(especially in case it's a few small blocks of many different sizes) would
benefit from this change, not just apps allocating hundreds of megabytes at the
same time (it also helps in case applications
Daniël Mantione wrote:
Compiler speed can loose from maintainability, but it can also loose
from code quality; the performance of your application is probably also
worth a lot to you.
Does FPC compile significantly faster when using -O- then?
Micha
Daniël Mantione wrote:
Op Fri, 16 Jul 2010, schreef Micha Nelissen:
Does FPC compile significantly faster when using -O- then?
That is irrelevant; for example the register allocator made the compiler
slower (initially even 3 times, but we managed to reduce it to a few ten
%), but had great
Nataraj S Narayan wrote:
Hi
May I ask why do we need a CONFIG_OABI_COMPAT=y in the kernel to for fpc
to work on arm-linux?
The fpc target for eabi is called 'armel', the 'arm' target compiles for
oabi.
Regards, Micha
On Wed, Jul 14, 2010 at 3:42 PM, Jeppe Johansen jepj...@kom.aau.dk
Michael Van Canneyt wrote:
Well, I don't see the point in learning yet another syntax (however simple
If the time it takes to learn the new syntax is less than the time saved
modifying and writing documentation then it's worthwhile ;-).
Micha
___
Michael Schnell wrote:
unfortunately we are in a realtime system and the priority of thread 2
is set higher than that of thread 1 and thus thread 1 never gets a CPU
Priority inversion? Isn't this a problem with any InterlockedC/E?
Micha
___
Marco van de Voort wrote:
Huh? Do stock Linux kernels still support a.out? Since afaik ELF was only added
in
1.1.52 ?
It's a kernel option to support it. Most distro's choose module here I
think? (Autodetect when used)
Micha
___
fpc-devel
Andrew Brunner wrote:
... then I get
C:\Developer\Source\Libraries\Core\uInt64Array.pas(54,17) Error:
Forward declaration not solved GStructList$Int64.Empty(var Int64);
Please always provide a complete compilable example.
Micha
___
fpc-devel
Florian Klaempfl wrote:
... and one uses normally a function and not a var/out parameter.
That also would need a typecast since the function would return a parent
class of the real class that was created, but the somehow the callee
knows it's a descendent, so needs a cast to get to it (or
C Western wrote:
Inspecting the cmem unit indicates the issue is the extra bytes
allocated for the count - is this really needed? Or do we have to
allocate more bytes for blocks that are a multiple of 8?
Do C memory managers guarantee any alignment anyway? Not for SSE (16
bytes) I'm sure,
Nikolai Zhubr wrote:
Now, I'm starting to suspect that negative TotalAllocated values just
result from doing deallocations in a different thread, which is what my
programm actually does all the time. I'll go to make a small test.
Maybe it's related to (or the same as) bug 14315?
Jonas Maebe wrote:
On 17 Nov 2009, at 08:18, Vincent Snijders wrote:
If you look at CPU secs, then the factor is 3 at most. What helps the C++
programs most is that they use 4 cores more, the fpc programs are mostly
singlethreaded. LLVM doesn't help to solve this (AFAIK).
Anyway, the above
Giuliano Colla wrote:
var
Pfoo: pointer;
foo: any valid FPC Type based Pfoo;
or
foo: based Pfoo any valid FPC type;
.
Pfoo: pointer;
PBfoo: PByte absolute Pfoo;
PIfoo: PInteger absolute Pfoo;
I don't see the difference between based and absolute, except order of
keywords?
Giuliano Colla wrote:
With absolute you need a) to declare an extra type (PByte, or
Declaring an extra type is one of those things that make Pascal what
it is; declaring before use.
whatever), b) to explicitly access the variable through the pointer
(PBfoo^ as opposed to foo). But if the
Dariusz Mazur wrote:
Maybe it is something interesting
http://www.linux-kongress.org/2009/slides/compiler_survey_felix_von_leitner.pdf
Seems that LLVM doesn't do so well, but not as bad as Microsoft :P. GCC
seems to be quite good.
Micha
___
Jonas Maebe wrote:
If you'd want to limit the length to 2GB on 64 bit systems. I also don't
know whether all 64 bit CPUs support atomic operations on 32 bit
entities (for the reference count).
Something might be said for compatibility towards 32 bit
implementations that the maximum length is
Micha Nelissen wrote:
Intel: system programming guide vol 3 section 8.1.1 says byte, word,
doubleword, quadword (since Pentium) are all atomic if they are
naturally aligned. (word = 16 bits) 8.1.2.2 notes that LOCK is also best
to be used on naturally aligned boundaries for 8/16/32/64 bit
Jonas Maebe wrote:
Does that mean in the cpstrnew branch and on x86_64 systems, the UTF-8
string 'a' will be 9 bytes long?
No, 25 bytes. The plain ansistring 'a' is already 17 bytes on x86_64
platforms today.
Is that because of sizeint? Wouldn't longint be long enough?
Micha
Schatzl Thomas wrote:
Improving upon that should be trivial, all reading from the debug input has
been encapsuled in the two ReadNext() methods in the file mentioned. It should
be easy to make them to read from a (static?) buffer that is filled blockwise;
note that a static buffer may give
Vinzent Hoefler wrote:
Suppose, the list items have a property Owner and the iterator calls
some method that says Owner.Delete (self); somewhere. How's the
compiler supposed to detect that?
It can't. In general, all references to the (iterator) list need to be
const at this time, but I guess
Михаил Абаляев wrote:
Second, using FPC, i've designed my own (open source) tool ARM
Pascal http://www.arm-pascal.ru/ http://www.armaide.com/
Suggestion: do not include links that have different target as its text.
Thunderbird will mark your email as a scam (probably not your intention).
Jonas Maebe wrote:
A note to people who wish to reply to this person: he is not subscribed
to fpc-devel (at list not with the address he posted from), so it's best
to CC him.
This list is not subscribers-only? (To combat spam?)
Micha
___
fpc-devel
Nataraj S Narayan wrote:
/usr/bin/arm-linux-uclibcgnueabi-ld: cannot find -lncursesw
firework.pp(120,48) Error: Error while linking
Add -Fl/usr/br-git-rf/lib, -Fl/usr/br-git-rf/usr/lib or whereever
this library is located?
Micha
___
fpc-devel
Jonas Maebe wrote:
On 23 Oct 2009, at 17:19, Micha Nelissen wrote:
Add -Fl/usr/br-git-rf/lib, -Fl/usr/br-git-rf/usr/lib or whereever
this library is located?
No, -XR/usr/br-git-rf should cause those directories to be searched
automatically (but apparently doesn't on Linux).
I saw them
Vinzent Höfler wrote:
Von: Micha Nelissen mi...@neli.hopto.org
That's why I suggested the use of 'const functions' in other message in
this thread.
Yes, I read that later on. Is that implemented in FPC?
I don't think so; but I think it would be a useful part of the iterator
proposal
Michael Van Canneyt wrote:
Ideally, the compiler has no knowledge at all of specific classes, and a
new keyword such as Iterator (or whatever) helps in ensuring that the compiler
is not contaminated with knowledge of specific classes or methods.
I'm not sure how things are helped by slapping
Michael Van Canneyt wrote:
Because with something like
Type
MyIterator = Iterator(TSomeResultType,Func1,Func2,Func3);
So the place in this list determines its function?
Micha
___
fpc-devel maillist - fpc-devel@lists.freepascal.org
Michael Van Canneyt wrote:
On Wed, 21 Oct 2009, Micha Nelissen wrote:
So the place in this list determines its function?
Yes. Just like in an operator...
Hmm that's not comparable, for operators it's much more intuitive what
to expect as the context is forced, Result := expr op expr
Michael Van Canneyt wrote:
I see little gain in changing
while Something(f) do
F.Somethingelse
This is not quite equal, it's more like:
Start(f);
while not Last(f) do
F.DoWork;
In your case, the function 'Something' must know about a generic F.
There are also recursive state
Vinzent Höfler wrote:
Marc Weustink marc.weust...@cuperus.nl:
loop you are not allowed to modify the loop variable. In this case I can
imagine its not allowed to modify the list.
But how's the compiler supposed to know which method modifies MyList and which one does not?
That's why I
Florian Klaempfl wrote:
I want really fast building and no external tool calling etc., that's
why I still use the text mode ide. Not to forget that msg*.inc not the
only auto generated files in the compiler sources: there are e.g.
autogenerated register tables and instruction tables so this adds
Žilvinas Ledas wrote:
Thanks, it works with named type.
Is using not named specializations is some kind of not implemented yet
part? :)
No it's a design choice to more easily reuse separate (but equal)
specializations.
Micha
___
fpc-devel
Tomas Hajny wrote:
Well, the internal error is in any case a bug, so if this appears also
with the latest (trunk) version, a bug report would be useful.
I didn't see an internal error? But a more descriptive message would be
useful ('specialization not allowed in this context' or so?).
Michael Schnell wrote:
C can do local (Stack?) volatile variables. This does not seem to make
much sense.
Why not? You could pass a pointer to this stack variable to another
thread which could write to it asynchronously to your thread.
Micha
___
Graeme Geldenhuys wrote:
MyString := '世界您好';
MyChar := MyString[1];
writeln(MyChar);
end.
Extracting a Char from a UnicodeString? What's that supposed to do?
Micha
___
fpc-devel maillist - fpc-devel@lists.freepascal.org
Marco van de Voort wrote:
In our previous episode, Micha Nelissen said:
Graeme Geldenhuys wrote:
MyString := '';
MyChar := MyString[1];
writeln(MyChar);
end.
Extracting a Char from a UnicodeString? What's that supposed to do?
CHAR is a 16-bit wchar in D2009. Simularly, pchar
Michael Schnell wrote:
As FPC (other than Delphi) features a Macro preprocessor, I suppose you
can get away without modifying the code.
FPC does support macros but not parametrized ones.
Micha
___
fpc-devel maillist -
Michael Schnell wrote:
Micha Nelissen wrote:
FPC does support macros but not parametrized ones.
Any chance to use another preprocessor ?
So many choices, eg. sed?
Micha
___
fpc-devel maillist - fpc-devel@lists.freepascal.org
http
Andrew Haines wrote:
procedure tfor...@unzipcustomoutput(Sender: TObject; var AStream:
TStream; AItem: TFullZipFileEntry; AClosing: Boolean);
begin
if AClosing = False then
begin
AStream := TMemoryStream.Create;
end
Do you mind if I say I think this is a very weird event
Michael Van Canneyt wrote:
The handler is called 2 times:
- Once to create the stream (aclosing=false)
- Once when the data has been written to the steam. (AClosing=true)
Maybe it had been better to create 2 events:
- OnCreateStream
- OnDestroyStream (optional, if not set the component frees
Hi,
Are we supposed to be able to assign to Self? FPC accepts the attached
unit, but seems strange to me to allow this?
Micha
{$mode objfpc}
unit selfass;
interface
type
TTestObj = class
procedure TestSelf;
end;
implementation
procedure TTestObj.TestSelf;
begin
Self := nil;
end;
Jonas Maebe wrote:
On 11 Jul 2009, at 12:53, Micha Nelissen wrote:
Are we supposed to be able to assign to Self?
Yes.
When would it be used?
Micha
___
fpc-devel maillist - fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman
Jonas Maebe wrote:
Note that some hits, like the one in cgbase.pas of FPC, refer to the
self parameter of objects, not of classes.
... or a local variable or a field in a record ...
Only ones I found are TExpression and TContractForm, but those don't win
a readability contest, like below one
Micha Nelissen wrote:
procedure tcontractform.add;
begin
self:=tcontractform.create(owner);
self.insert.enabled:=true;
self.btnregion.enabled:=true;
self.showmodal;
end;
In this case I guess there is even a memory leak in the sense that
Owner is usually Application which is a variable
Marco van de Voort wrote:
type
myclass = class
property doit : integer;
end;
Does sb know this, and is this a feature? And if so, should delphi mode
accept it ?
What kind of code does fpc generate when you reference it? :-) I guess
you will get a compiler
Maxim Egorov wrote:
I guess that the behavior of FPC is correct and expectable. I just try
your example in Delphi 7, 2007, 2009 and was amazed. They indeed don't
assign anything to the array A. This is a Delphi compiler bug. FPC must
not copy delphi compiler mistakes. :)
Since the return value
Jonas Maebe wrote:
It is not possible to change this in the compiler. The reason is that if
we change the first parameter of fillchar from a var parameter (as it
is now) into an out parameter (so the hint would not be shown), then
the behaviour of the code changes.
Wasn't outvar a long
Bogusław Brandys wrote:
Can someone assign those bugreports :
http://bugs.freepascal.org/view.php?id=13499
and http://bugs.freepascal.org/view.php?id=13518
to proper person ?
You must first request to be added as developer before we can assign the
bug to you ;-P.
Micha
martin wrote:
for the linker
(http://www.freepascal.org/docs-html/user/usersu15.html#x38-450005.1.4)
but I have no luck in identifying it...
The mail also says that it hasn't been done yet!
Micha
___
fpc-devel maillist -
Graeme Geldenhuys wrote:
Like I said, I am not very knowledgeable with debugger internals, but
I am willing to learn and help. Not having decent debugger support is
killing me - and I am clearly not alone, as the thread in the Lazarus
The problem is not so much the debugging itself. That is
Graeme Geldenhuys wrote:
And then the same think under Kylix 3. As I said, with Delphi and
Kylix such trivial things is a no-brainer. Debugging just works.
http://opensoft.homeip.net/~graemeg/kylix_debuging.png
Delphi/Kylix also does not have 'absolute', so FPC requires even more
features in
Sergei Gorelkin wrote:
So maybe ThreadWndProc function and window creation/destruction code in
AddThread and RemoveThread procedures should be removed?
I've removed it.
Micha
___
fpc-devel maillist - fpc-devel@lists.freepascal.org
Sergei Gorelkin wrote:
Looking at the changes to rtl/win/tthread.inc made in r12761, I see that
'thread helper window' is pretty well unused, as CM_EXECPROC message is
never posted to it (grepping rtl sources for CM_EXECPROC shows that).
TThread.Synchronize is supposed to use it.
Micha
Sergei Gorelkin wrote:
TThread.Synchronize is supposed to use it.
It probably was so a while ago, but the current implementation uses a
platform-independent mechanism (TThread.Synchronize is entirely in
rtl/objpas/classes/classes.inc).
Oops, didn't I write that? Good catch.
Micha
Jonas Maebe wrote:
There are an immense amount of similar examples possible (and if you add
operator overloading in the mix, it increases exponentially), and you'd
get a huge amount of can't decide which overloaded function to call
errors even if the compiler were hacked to take the use of the
Michael Schnell wrote:
which system/vendor did you choose?
We are going to design some controller boards with Altera Cyclone III
FPGAs. The NIOS processor is optimized for this FPGA architecture, is
very easily implemented into the HDL design, offers acceptable features
How big is the
Michael Schnell wrote:
I tool a look at the C code of one of the example projects in the ALIOTH
test. Here they seemingly used SIMD vector operations via typedef int
This has nothing to do with MT or OpenMP though. GCC can vectorize
automatically and takes advantage of SSE.
Micha
Hi,
Why is there a parameter to GetAppConfigFile? I'd suggest something like:
function GetAppConfigFile: string;
begin
{ first look for user specific config file }
Result := GetAppConfigFile(false);
if FileExists(Result) then
exit;
{ otherwise use global one }
Result :=
Felipe Monteiro de Carvalho wrote:
function StoreToBuf(Source: String): String; virtual;
public
+MAXSTRLEN: Integer;
If you don't object, this is a bit ugly to my taste. Why not
'FMaxStrLen', and have a property MaxStrLen: read FMaxStrLen ? Looks
better to me.
Micha
Peter Popov wrote:
Well, if it points to something, then there is space, isn't it? Unless
it is clearly mentioned in the documentation that GetMem(p,0) results in
You get a pointer to some place where you may store 0 bytes, so nothing :-).
This can be useful because otherwise you may think
Peter Popov wrote:
size is 0 (realloc does). On the other hand, assigning something is a
bad idea too, as it suggests at least Size(pointer) amount of storage,
unless that memory spot is somehow marked as empty, etc.
How does it suggest a storage space with size 0 ?
Micha
Graeme Geldenhuys wrote:
Hi,
I know it's possible, but I can't remember the exact FPC parameters.
How do I see the assembler generated by FPC for my source code?
Read ppc386 -h.
Micha
___
fpc-devel maillist - fpc-devel@lists.freepascal.org
Marco van de Voort wrote:
Inoussa OUEDRAOGO wrote:
- TAVLManagedTree that uses a node mem manager provided in the constructor.
The developer using this one is _aware_ of the thread safety issue and can
then provide a thread safe node mem manager for an instance exposed
What is exactly
Inoussa OUEDRAOGO wrote:
2008/8/6 Micha Nelissen [EMAIL PROTECTED]:
Perhaps another option is to remove the NodeMemManager altogether and
simply use GetMem/FreeMem (or New/Dispose)?
The second proposition contains a default TAVLTree that remove the node
mem manager and TAVLManagedTree
Daniël Mantione wrote:
Easier said than done, because threading always involves multiple cores
operating in the same address space, which means the cores need to
communicate which core has which page in cache.
They don't care about pages. They only care when writing to shared
memory (to keep
Florian Klaempfl wrote:
Michael Schnell schrieb:
Now you suggest that all procedures an instance of this kind of class
are protected and thus thread-safe by definition.
They aren't but it makes things easier. Just look at the linux kernel:
it's smp support started also with BKL: the Big
Martin Friebe wrote:
IMHO per class may create some problems? but maybe I am just overlooking
something?
TBar =class( TFoo ) end synchronized class;
Let's say TFoo was declared in another unit, and TFoo was not declared
Synchronized. Then TFoo code can be entered by anyone at any time.
Even
Boian Mitov wrote:
among the processor architects. Intel already demonstrated 100+ core
processor last year. This year we expect the first 16 core processors to
hit the market ( 8 HT cores), and the direction is very clear. Any
compiler vendor, or developer, should at least be paying attention
Daniël Mantione wrote:
is no proper solution, MBCS requires it to be a string rather than a
char, but compatibility requires it to be a char. Which means you are
Isn't a string backward compatible with a Char?
Micha
___
fpc-devel maillist -
Marco van de Voort wrote:
Dani?l Mantione wrote:
is no proper solution, MBCS requires it to be a string rather than a
char, but compatibility requires it to be a char. Which means you are
Isn't a string backward compatible with a Char?
No. You can't typecast or ORD() it anymore, or
Bee wrote:
I don't understand why FPC has DELPHI MODE directive in the first place
if FPC don't want to be different with Delphi. Maybe FPC should
eliminate this directive and make it as the default mode. :-P
This is exactly the reason. Strings and API touches everything, while
generics are
Graeme Geldenhuys wrote:
Simple one liners like the following:
inc(FDayList[itm.WeekDayNum].Rows[itm.Timeslot].AvailableSlots,
itm.CountSlots);
or
FDayList[itm.WeekDayNum].Rows[itm.Timeslot].AvailableSlots += itm.CountSlots;
now has to change to this ugly line...
Jonas Maebe wrote:
Indeed. I've checked the code and properties are explicitly not allowed
for the C-style operators. The reason is that the x+=y is translated
into x:=x+y at the parser level rather than at the lexical level. This
So I guess the obvious question is: would it be risky to
Graeme Geldenhuys wrote:
My question too Would somebody be so kind as to explain the
difference to me? As I mentioned before, I'm not a compiler
developer.
Very rudimentary:
source --lexer-- tokens --parser-- tree --code gen-- code
- source is the .pas file etc.
- tokens are things
Sean McIlwain wrote:
initialization
AObject := TObject(AValue);
Could this be supported in the Delphi mode as well?
Forgot to take your pills today? ;)
Micha
___
fpc-devel maillist - fpc-devel@lists.freepascal.org
Craig Peterson wrote:
Use mode objfpc and CallBack:[EMAIL PROTECTED]
Is there some reason why this can't be handled automatically in Delphi
mode? In the example (and every case where it's an issue in our code),
the callback is a procedure and doesn't return anything, so Callback :=
Proc
Craig Peterson wrote:
Micha Nelissen wrote:
Ambiguity depends on whether it takes parameters or not. Return value
would be context sensitive. One doesn't want a context sensitive
language.
The code presented is perfectly valid in Delphi, so it apparently *is* a
context sensitive language
Michael Van Canneyt wrote:
AObject := TObject(AValue);
Could this be supported in the Delphi mode as well?
Please submit a bug report.
Eh ?
As far as I'm concerned this should not compile in Objfpc mode as well ?
It's a typecast, so then almost anything is allowed, except perhaps if
the
Graeme Geldenhuys wrote:
WindowAttributes are defined as follows:
...
property WindowAttributes: TWindowAttributes read FWindowAttributes
write FWindowAttributes;
...
It's the same thing as mentioned before, FPC now guarantees you can
change that into GetWindowAttributes function. If this
Graeme Geldenhuys wrote:
:/tmp$ ls -l
drwxr-xr-x 3 graemeg graemeg 4096 2008-05-21 11:43 app
-rw-r--r-- 1 graemeg graemeg0 2008-05-21 13:14 c:\myfile.txt
-rw-r--r-- 1 graemeg graemeg0 2008-05-21 13:12 c:myfile.txt
-rw--- 1 graemeg graemeg 607 2008-05-21 11:48 code-1.pp
-rw--- 1
Michael Schnell wrote:
Parallel Programming:
have multiple-CPU systems run code automatically in multiple threads
This one could be interesting. What does it provide, how does it work?
Does it scale well? Etc.
Nullable Expressions:
Calculations automatically handle a missing value
Marco van de Voort wrote:
You are right, after moving all exernal name declarations to interface I
could move back uses msesysintf to implementation in msefileutils and the
project compiled.
Maybe we should have a known issues entry for this?
Perhaps but isn't it quite logical one should
Tomas Hajny wrote:
On Wed, April 16, 2008 10:38, Micha Nelissen wrote:
Perhaps but isn't it quite logical one should put these in the interface
part? How the hell is the compiler otherwise going to know the right
name when only parsing the interface?
Well, this statement assumes that all
Martin Schreiber wrote:
Recompiling msesysintf, checksum changed for msefileutils {impl}
Fatal: Can't find unit msesysintf used by msesysutils
Fatal: Compilation aborted
What do we wrong, any hints?
Do you have multiple installed msefileutils? Recompile with -va to see
what's going on.
[EMAIL PROTECTED] wrote:
@@ -335,11 +336,12 @@
Result:=1;
exit;
end;
- Repeat
+ While (Result=0) and (S1^#0) and (S2^#0) do
You only have to check one of S1 or S2 being unequal to zero. (Otherwise
they would be different anyway).
Micha
Michael Van Canneyt wrote:
FYI: so before streaming, the streamer has to reset the values to their
defaults to stream properly. Unfortenately, there is no function to do this,
and it's usually done in constructor. Therefore streaming twice does not work
properly.
This is not correct.
The
Michael Van Canneyt wrote:
If you want a general streaming mechanism (javabeans like), then you
simply should not use stored or default, then you'll have something
that comes close.
Oh come on! It's not *that* far from a general streaming mechanism; so I
consider this a design flaw.
Micha
Michael Van Canneyt wrote:
Oh come on! It's not *that* far from a general streaming mechanism; so I
consider this a design flaw.
IMHO, it's very far, see Mattias' remarks :(
Hmm well the other fun thing was that in Delphi you could not have no
default for floats or integers IIRC. Maybe this
1 - 100 of 375 matches
Mail list logo