Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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.49 MB
Время: 0.034 c
1-1085519719
Vemer
2004-05-26 01:15
2004.06.06
Присваивание NumderFormat в ExelApplication..


3-1084621672
havez
2004-05-15 15:47
2004.06.06
BDE


4-1083077222
Maximys
2004-04-27 18:47
2004.06.06
Поиск в реестре в windows


4-1083694549
Meskalito
2004-05-04 22:15
2004.06.06
Диагональ монитора


14-1085249231
Lm
2004-05-22 22:07
2004.06.06
shell+XP





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский