Форум: "Основная";
Текущий архив: 2004.06.06;
Скачать: [xml.tar.bz2];
ВнизПро Динамич. переменные Найти похожие ветки
← →
Schummi (2004-05-20 08:30) [0]Вопрос! Если у меня есть, допустим StrList:PStringList(=^TStringGrid). Я под него выделяю память: New(StrList); А потом создаю: StrList^:=TStringList.Create; далее какие-то действия. Если я потом сделаю Dispose(StrList); То таким образом у меня вся помять выделенная под StrList и его элементы освободится или же надо ещё делать StrList.Free???
← →
MBo © (2004-05-20 08:35) [1]^TStringGrid
Забудь такое. Почитай книги о Дельфи.
← →
ЮЮ © (2004-05-20 08:37) [2]StrList.Free - обязательно, а вот зачем выделение памяти под указатель, не понял
var
StrList: TStringList;
begin
StrList :=TStringList.Create;
try
далее какие-то действия
finally
StrList.Free;
end;
← →
Schummi (2004-05-20 08:38) [3]
> ^TStringGrid
> Забудь такое. Почитай книги о Дельфи.
Что забыть???
← →
MBo © (2004-05-20 08:39) [4]забыть указатели на объекты (которые и так указатели)
← →
Schummi (2004-05-20 08:39) [5]А если быть с динамич массивом. Там тоже надо делать SetLength(arr^,0); ? Или достаточно будет dispose(arr);
← →
Schummi (2004-05-20 08:41) [6]
> забыть указатели на объекты (которые и так указатели)
иначе к меня ошибки вылетают программе, а если исп. динам перем - то нет!!!
← →
MBo © (2004-05-20 08:44) [7]>иначе к меня ошибки вылетают программе, а если исп. динам перем - то нет!!!
Кошмар...
Ну ведь хелп же есть с примерами, хоть там посмотри.
← →
ЮЮ © (2004-05-20 08:44) [8]>иначе к меня ошибки вылетают программе, а если исп. динам перем - то нет!!!
Ошибки надо исправлять, а не избегать их странным способом
← →
Anatoly Podgoretsky © (2004-05-20 08:47) [9]Зв эти годы, что ты здесь, мог бы немного повысить свой уровень.
← →
Schummi (2004-05-20 08:50) [10]
> Зв эти годы, что ты здесь, мог бы немного повысить свой
> уровень
программирую я так, с перерывами. А уровень мой повысился.
← →
R (2004-05-20 09:13) [11]>иначе к меня ошибки вылетают программе, а если исп. динам перем - то нет!!!
>Зв эти годы, что ты здесь, мог бы немного повысить свой уровень.
Вы на кком язке бщаетесь.
← →
panov © (2004-05-20 10:17) [12]>Schummi (20.05.04 08:39) [5]
А если быть с динамич массивом.
var
MyArr: array of String;
begin
SetLength(MyArr,100);
...
SetLength(MyArr,0);
← →
Romkin © (2004-05-20 10:52) [13]Schummi (20.05.04 08:41) [6] Я догадываюсь... Ты локальную переменную в результат функции пихаешь, скорее всего. Поэтому и ошибки.
type
MyArray = array of integer;
function Dummy(...): MyArray;
var
A: MyArray;
begin
SetLength(A,...);
Result := A;
end;
Так примерно? AV получишь, причем неожиданно. Понимать надо, string, dynamic array & class - указатели! Неявно разыменовываемые.. Причем при присвоении разруливается только string - копируется содержимое. Во всех остальных случаях копируется указатель
← →
Schummi (2004-05-20 17:39) [14]
> Romkin © (20.05.04 10:52) [13]
функция не может возвращать "свой" тип!
← →
jack128 © (2004-05-20 17:46) [15]
> А если быть с динамич массивом. Там тоже надо делать SetLength(arr^,0);
> ? Или достаточно будет dispose(arr);
достаточно dispose (для строк тоже Finalize не нужен). Но это только для типизированных указателей.
← →
Romkin © (2004-05-20 17:52) [16]Schummi (20.05.04 17:39) [14] Э? Хочешь сказать, что результатом функции не может быть тип, определенный пользователем?
Выкинь книжку по Турбо Паскалю, и купи Ксавье Пачеко хотя бы...
Иногда можно хелп почитать, помогает, по себе знаю
← →
BFG9k (2004-05-20 18:59) [17]Удалено модератором
← →
Schummi (2004-05-22 13:43) [18]
> Romkin © (20.05.04 17:52) [16]
> Schummi (20.05.04 17:39) [14] Э? Хочешь сказать, что результатом
> функции не может быть тип, определенный пользователем?
> Выкинь книжку по Турбо Паскалю, и купи Ксавье Пачеко хотя
> бы...
> Иногда можно хелп почитать, помогает, по себе знаю
Я ориентируюсь по Turbo Pascal
← →
Anatoly Podgoretsky © (2004-05-22 13:50) [19]Тогда не лезб в Дельфи или читай хелп и учебники
← →
Schummi (2004-05-22 15:54) [20]
> Anatoly Podgoretsky © (22.05.04 13:50) [19]
> Тогда не лезб в Дельфи или читай хелп и учебники
Делфи я знаю. Просто в Лицее сейчас Паскаль постоянно изучаем. Вот у меня все на паскалевский манер
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.06.06;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.032 c