Форум: "Основная";
Текущий архив: 2004.06.06;
Скачать: [xml.tar.bz2];
ВнизString[n] & ShortString Найти похожие ветки
← →
Jymmi (2004-05-23 18:46) [0]Можно ли использовать в DLL тип String с заранее указанным размером (string[n]), а так же ShortString?
← →
Mim1 © (2004-05-23 18:55) [1]да
← →
Гаврила © (2004-05-23 20:09) [2]Нет, ну внутри самой DLL можно использовать что угодно.
Ограничения, о которых идет речь (ShareMem) имеют место только для случая передачи строковых параметров.
string[n]) - это по сути та же ShortString
← →
Rouse_ © (2004-05-23 20:18) [3]> Ограничения, о которых идет речь (ShareMem) имеют место
> только для случая передачи строковых параметров.
> string[n]) - это по сути та же ShortString
Помнишь я тебе рассказывал байку про преподавателя который 2 недели обьяснял теорему и не смог обьяснить :)A ShortString is 0 to 255 characters long. While the length of a ShortString can change dynamically, its memory is a statically allocated 256 bytes; the first byte stores the length of the string, and the remaining 255 bytes are available for characters. If S is a ShortString variable, Ord(S[0]), like Length(S), returns the length of S; assigning a value to S[0], like calling SetLength, changes the length of S. ShortString uses 8-bit ANSI characters and is maintained for backward compatibility only.
Object Pascal supports short-string types—in effect, subtypes of ShortString—whose maximum length is anywhere from 0 to 255 characters. These are denoted by a bracketed numeral appended to the reserved word string. For example,
var MyString: string[100];
creates a variable called MyString whose maximum length is 100 characters. This is equivalent to the declarations
type CString = string[100];
var MyString: CString;
Variables declared in this way allocate only as much memory as the type requires—that is, the specified maximum length plus one byte. In our example, MyString uses 101 bytes, as compared to 256 bytes for a variable of the predefined ShortString type.
When you assign a value to a short-string variable, the string is truncated if it exceeds the maximum length for the type.The standard functions High and Low operate on short-string type identifiers and variables. High returns the maximum length of the short-string type, while Low returns zero.
← →
Anatoly Podgoretsky © (2004-05-23 20:32) [4]Гаврила © (23.05.04 20:09) [2]
Побойся бога, ничего подобного даже близко нет
← →
Гаврила © (2004-05-23 20:41) [5]
> Anatoly Podgoretsky © (23.05.04 20:32) [4]
Чего именно нет ?
← →
Anatoly Podgoretsky © (2004-05-23 20:42) [6]Ты что не можешь сам прочитать, что ты написал в [2]
← →
Гаврила © (2004-05-23 20:55) [7]
> Anatoly Podgoretsky © (23.05.04 20:42) [6]
Прочитал. Где криминал? Памяти отводится не 255, а N? ну так это же и так понятно
← →
Anatoly Podgoretsky © (2004-05-23 20:57) [8]Может я не так трактую твою вторую строку?
← →
Гаврила © (2004-05-23 21:03) [9]Уточнения второй строки
Речь шла о строковых параметрах типа AnsiString.
Кстати, к WideString эти ограничения также не относятся
← →
Anatoly Podgoretsky © (2004-05-23 21:22) [10]Гаврила © (23.05.04 21:03) [9]
Вот теперь другое дело, эти ограничения касаются не только строк, а любых динамических структурах, время жизни которых управляется в рантайм автоматически.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.06.06;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.044 c