[fpc-devel] Embedded Strings on nRF51-DK

Sven Barth pascaldragon at googlemail.com
Thu Apr 16 17:18:21 CEST 2015


Am 16.04.2015 14:44 schrieb "Paul Michell" <Paul at michellcomputing.co.uk>:
>
> On Thursday 16 Apr 2015 14:19:38 Sven Barth wrote:
> > First of: I don't know whether non-Shortstrings are supported on
embedded
> > (I haven't played with that target yet). So my following tips are geared
> > towards ShortString usage.
> >
> > Which compiler mode are you using? You should use either mode FPC or at
> > most ObjFPC. Mode Delphi will switch on AnsiString. In any case you
should
> > ensure that you haven't enabled AnsiStrings using $H+ (simply disable
the
> > directive in that case).
> > Additionally you could declare your String variables explicitly as
> > ShortString instead of String.
> >
> > Regards,
> > Sven
>
> I've tried mode FPC and ObjFPC with both long and short strings.  I have
just
> tried again with the ShortString type as well (I've included the whole
main
> unit code below for reference).

How about the unit UARTPutString is defined in? From the missing symbols
you quoted earlier the compiler somewhere thinks that it needs to use an
AnsiString and thus uses the corresponding functions which the linker the
complains about.

> I suspect that I need to link additional object files that support the
string
> handling, but I don't know which ones, nor if this is possible with the
> embedded compiler?

As I wrote earlier I don't know enough about the embedded target right now
to tell you whether it supports AnsiStrings at all and if so what you need
to do to enable them.

Regards,
Sven
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freepascal.org/pipermail/fpc-devel/attachments/20150416/da62c7f0/attachment.html>


More information about the fpc-devel mailing list