Текущий архив: 2005.07.31;
Скачать: CL | DM;
ВнизПодскажите по TStringList; Найти похожие ветки
← →
Руслана (2005-07-12 14:38) [0]В процессе работы используется TStringList. Причем, разные функции пишут в него различные строки. Как правильно передавать TStringList в эти функции?
Если так WriteString1(List:TstringList) означает ли это, что весь TSTringList будем сначало помещаться в стек, а затем извлекаться.
Или можно передать только указатель на TStringList? Как?
← →
Ega23 © (2005-07-12 14:40) [1]Или можно передать только указатель на TStringList? Как?
var
List:TStringList;
List в данном случае является указателем на экземпляр класса TStringList.
← →
Руслана (2005-07-12 14:42) [2]Да, у меня так и объявлено.
var
List:TStringList;
То есть можно так и писать WriteString(List:TStringList) ?
← →
Ega23 © (2005-07-12 14:47) [3]Да. Это и есть передача указателя.
← →
Юрий Зотов © (2005-07-12 15:41) [4]> Руслана (12.07.05 14:42) [2]
В Delphi любая переменная объектного типа - это не сам объект, а указатель на него.
← →
VMcL © (2005-07-12 15:45) [5]>>Юрий Зотов © (12.07.05 15:41) [4]
Кроме собственно object"ов, если не ошибаюсь.
← →
Руслана (2005-07-12 16:32) [6]Хорошо, тогда еще вопрос
если у меня объявлен массив
type mybuf=array[0..131072]of byte;
var Buf:mybuf;
И я хочу передать его в функцию
ChangeArray(Buf:array of byte)
в этом случае тоже передается указатель?
И насчет файлов
Если имеется
var
BinFile:File;
begin
WriteEof(BinFile:File) - здесь тоже указатель?
← →
Anatoly Podgoretsky © (2005-07-12 16:36) [7]Руслана (12.07.05 16:32) [6]
ChangeArray(Buf:array of byte)
В этом случае передается массив констант. Объявить надо такChangeArray(Buf: mybuf)
← →
Digitman © (2005-07-12 16:42) [8]
> И насчет файлов
> Если имеется
> var
> BinFile:File;
> begin
>
> WriteEof(BinFile:File) - здесь тоже указатель?
здесь передается копия значения.
значением же является неявный указатель на неявную же упр.структуру данных типа File
← →
VMcL © (2005-07-12 16:42) [9]>>Anatoly Podgoretsky © (12.07.05 16:36) [7]
А если ещё и "const" к параметру дописать, то ваще лепота будет.
← →
TUser © (2005-07-12 16:46) [10]> Кроме собственно object"ов, если не ошибаюсь.
? Но с ними вроде бы нельзя работать непосредственно, а надо объявлять соотв. указатель. Или я не прав?
← →
Юрий Зотов © (2005-07-12 16:47) [11]> Руслана (12.07.05 16:32) [6]
procedure ChangeArray(const Buf: mybuf);
И будет передаваться указатель.
← →
имя (2005-07-12 16:47) [12]Удалено модератором
← →
Anatoly Podgoretsky © (2005-07-12 16:51) [13]VMcL © (12.07.05 16:42) [9]
Ну кто бы спорил, а то будут вопросы почему за стек ругается, так что const/var не помешает.
← →
begin...end © (2005-07-12 17:04) [14]> Руслана (12.07.05 16:32) [6]
> WriteEof(BinFile:File) - здесь тоже указатель?
Нет.
> Digitman © (12.07.05 16:42) [8]
> здесь передается копия значения.
Здесь ничего не передаётся. Это даже не скомпилируется.
> TUser © (12.07.05 16:46) [10]
> Или я не прав?
Не прав.
Страницы: 1 вся ветка
Текущий архив: 2005.07.31;
Скачать: CL | DM;
Память: 0.47 MB
Время: 0.041 c