Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Niusy o FPC i Lazarus

16 views
Skip to first unread message

webmaj...@poczta.onet.pl

unread,
Dec 4, 2010, 9:01:43 AM12/4/10
to
Na nowy rok zapowiadane jest wyjście Lazarusa 0.9.30 .
Już teraz powinno się do kompilacji używać FPC w wersji 2.4.2 .

--
Wysłano z serwisu OnetNiusy: http://niusy.onet.pl

Wiktor S.

unread,
Dec 6, 2010, 12:44:47 PM12/6/10
to
> Już teraz powinno się do kompilacji używać FPC w wersji 2.4.2 .

Nadal ze zwalonym modułem CRT, zmieniającym stronę kodową w tę i nazad z
każdym writelnem?


--
Azarien

webmaj...@poczta.onet.pl

unread,
Dec 14, 2010, 4:34:10 PM12/14/10
to
> > Ju¿ teraz powinno siê do kompilacji u¿ywaæ FPC w wersji 2.4.2 .
>
> Nadal ze zwalonym modu³em CRT, zmieniaj±cym stronê kodow± w tê i nazad z
> ka¿dym writelnem?
>
>

a nic nie słyszałem o tym błędzie - moze dlatego ze crt prawie wogle nie
używam .

Wiktor S.

unread,
Dec 22, 2010, 8:31:11 PM12/22/10
to
> a nic nie słyszałem o tym błędzie - moze dlatego ze crt prawie
> wogle nie używam .

w źródle wygląda to tak:


Function CrtWrite(var f : textrec) : integer;
var
(* * *)
OldConsoleOutputCP : Word;
begin
OldConsoleOutputCP:=GetConsoleOutputCP;
SetConsoleOutputCP(GetACP);
(* tu właściwe pisanie *)
SetConsoleOutputCP(OldConsoleOutputCP);
(* * *)
end;
i podobnie CrtRead.
GetACP zwraca 1250 - więc program we Free Pascalu w konsoli zamiast ze
strony kodowej 852 korzysta z 1250: ma to pewne plusy (koniec z problemem
różnych kodowań) ale:

- nie da się tego wyłączyć (inaczej niż zakomentować te linie i
przekompilować RTL)
- takie przełączanie strony kodowej za KAŻDYM razem tam i z powrotem
brzydko wygląda
- tracimy możliwość rysowania ramek ASCII, bo ich nie ma w CP1250.

wyrzuciłem więc te linie w 2.4.2, skompilowałem crt i po prostu muszę
pamiętać że korzystam z niestandardowych bibliotek standardowych.


--
Azarien

0 new messages