Lazarus & string

0

witam
w Lazarusie typ string domyslnie odpowiada napisom o dlugosci do 255 znakow.
aby to zmienic mozna dodac dyrektywe {$H+} i wtedy mamy dlugie stringi.

Jednak dyrektywa ta dziala tylko dla projektru w ktorym jej uzylem.
Natomiast zainstalowane komponenty sa skompilowane z krotkimi stringami i z takimi pozostaja.
Dodatkowo w kazdym nowym projekcie trzeba pamietac o jej dodaniu, co jest uciazliwe.

Czy da sie jakos w opcjach Lazarusa ustawic na stale ta dyrektywe?
czy w jakis prosty sposob (np przez przebudowanie Lazarusa) mozna przekonac
wczesniej zainstalowane komponenty do jej uwzglednienia?

0

Czy da sie jakos w opcjach Lazarusa ustawic na stale ta dyrektywe?

Odpowiada za to parametr -Sh

 kompilatora. Nie mam Lazarusa, ale gdzieś w opcjach powinno się dać zmieniać opcje kompilacji.


> czy w jakis prosty sposob (np przez przebudowanie Lazarusa) mozna przekonac wczesniej zainstalowane komponenty do jej uwzglednienia?

Co zostało już skompilowane z shortstringami już takie pozostanie. Wszystkie komponenty musisz przekompilować.
Bierz też pod uwagę, że jeśli w kodzie źródłowym zakłada się gdzieś konkretny format stringa, jego zmiana może zepsuć komponent, lub co gorsza wprowadzić ciche bugi.
0

lazarus 0.9.29
Projekt > Opcje projektu > Opcje kompilatora > Analiza > Używaj łańcuchów typu Ansi
oraz zaznaczamy "Używaj tych opcji jako domyślne przy tworzeniu nowych projektów"

Pozdrawiam
Paweł Dmitruk

1 użytkowników online, w tym zalogowanych: 0, gości: 1