Главная страница
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.058 c
14-1084855157
Vlad Oshin
2004-05-18 08:39
2004.06.06
Научите, как узнать для чего и какая dll нужна в папках windows


6-1080821244
a3a3ello
2004-04-01 16:07
2004.06.06
Как отправить по e-mail прицепленный файл ?


14-1084621786
Manulo
2004-05-15 15:49
2004.06.06
Криптография


14-1084807022
Анонимщик
2004-05-17 19:17
2004.06.06
Энциклопедия шахматных дебютов.


4-1083346254
Yus
2004-04-30 21:30
2004.06.06
Атрибуты чужего окна