Re: Turbo Pascal a OS/2

Autor: Jan Stożek (jasio_at_nowhere.pl)
Data: Thu 21 Oct 1999 - 01:55:44 MET DST


On Mon, 18 Oct 1999 14:00:46, infokub_at_nw.pp.com.pl (Leszek Kubrak)
wrote:

> Czy któryś z kolegów próbował przenieść do OS/2 (zrekompilować) aplikacje pisane
> w Turbo Pascalu ?

        Owszem, trochę własnych drobiazgów poprzenosiłem pod Virtual Pascala,
a przez pewien czas (jak miałem na to czas i mnie to rajcowało), to
nawet jeden programik konserwowałem równolegle w wersji DOS i OS/2.
Generalnie działało, ale w praktyce pojawiło się trochę "ale":

        - niezgodności niektórych standardowych typów numerycznych i
tekstowych, zwłaszcza po dołączeniu biblioteki USE32 (a była mi ona do
czegoś potrzebna. ;)
        - obsługa plików - w DOS-ie string całkiem wystarcza do
przechowywania ścieżek, w OS-ie niestety nie i chyba to nawet nie jest
sygnalizowane (string ma do 255 znaków, a dopuszczalna pełna ścieżka
jest chyba dłuższa - czy coś majaczę?)
        - procedury sprawdzające poprawność nazw plików (o ile takie
stosujesz) nie działają poprawnie
        - systemowe funkcje obsługi plików zwracają nazwę pliku dużymi
literami

        W efekcie bibliotekę, której używałem do obsługi plików musiałem
przepisać na nowo.
        
        - inna jest konstrukcja wskaźników, więc nie wszystkie operacje na
wskaźnikach są poprawnie przenoszone (różnica jest już na poziomie
składni, więc stosunkowo łatwo to wychwycić)
        - przekompilowane Turbo Vision chodziło mi w VIO _wolniej_ niż w
oknie DOS (pewnie dlatego, że funkcje w TV odpowiedzialne za rysowanie
na ekranie były pisane w asemblerze, a po przeniesieniu są w Pascalu)
        - wstawki w asemblerze mogą źle działać
        - miałem jakieś problemy z funkcją IDLE() w TV
        - obsługa parametrów w VP jest co prawda zgodna z BP, ale nonsensowna
z punktu widzenia OS-a: standardowe funkcje ani w BP ani w VP nie
obsługują poprawnie parametrów w cudzysłowach - co spacja w command
line to nowy parametr.
        - i to jeszcze nie wszystko.

        Różnice nie są może duże, ale w praktyce były dość uciążliwe. Miałem
więc trochę zabawy, a w programie pojawiło się sporo dodatkowych
ifdefów. Do tego DOSFindFirst (albo DOSFindNext - nie pamiętam już
dokładnie) nie działał poprawnie podczas pracy w debuggerze - chyba
zawsze sygnalizował brak plików, czy coś takiego.

-- 
Pozdrawiam,
Jan.
PS. Mój adres: nowhere = Polbox. 


To archiwum zostało wygenerowane przez hypermail 2.1.7 : Tue 18 May 2004 - 15:24:03 MET DST