Главная страница
    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.48 MB
Время: 0.03 c
3-1084623289
russko
2004-05-15 16:14
2004.06.06
Простой запрос


4-1082983555
Hecker
2004-04-26 16:45
2004.06.06
Подскажите, можно ли как-нить записать...........................


14-1085266276
Profi
2004-05-23 02:51
2004.06.06
Глюк?


14-1085073644
delphin12
2004-05-20 21:20
2004.06.06
hook на сканер


14-1084638273
666
2004-05-15 20:24
2004.06.06
где взять ACMDialog, ACMWaveIn, ACMWaveOut





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский