Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.06.06;
Скачать: CL | DM;

Вниз

Про Динамич. переменные   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.033 c
14-1084778985
mrcat
2004-05-17 11:29
2004.06.06
Рой Джонс повержен !?


4-1082703033
Александр_33
2004-04-23 10:50
2004.06.06
Текст в окне DOS-приложения


9-1076330836
Closer
2004-02-09 15:47
2004.06.06
Завершение работы с GLUT


4-1082133160
Xerx
2004-04-16 20:32
2004.06.06
Контекстное меню и виртуальный диск


1-1085570195
Zheka
2004-05-26 15:16
2004.06.06
Правильное открытие файла