Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.02.25;
Скачать: [xml.tar.bz2];

Вниз

Освобождение ресурсов   Найти похожие ветки 

 
Egen   (2002-02-07 13:03) [0]

Хай ол. поможите плиз. есть функция возвращающая TStrings.

function CreateList: TStrings;
begin
Result := TStringList.Create;
Result.Add("111");
...
end;


У меня вопрос. нужно ли в этом случае освобождать память занимаемую Result.
или может результат лучше в параметр запихать.


 
Digitman   (2002-02-07 13:08) [1]

нужно обязательно.


 
Egen   (2002-02-07 13:19) [2]

и как, если не секрет?
если result.free в конце написать, то возвращается пустой список.
что делать тада?


 
Johnmen   (2002-02-07 13:41) [3]

Ты хоть смысл своей ф-ии сам понял ?
function CreateList: TStrings;

то есть "создать" , а не "убивать", посему убивай в др.месте...


 
BlankAlex   (2002-02-07 13:42) [4]

Я в таких случаях создавал списки и освобождал их в вызывающей процедуре, а в вызываемой заполнял их значениями


 
Egen   (2002-02-07 14:02) [5]

Вот именно создать
Функцию я вызываю так ComboBox.Items.Assign(CreateList)
и как мне в этом случае освободить?


 
Egen   (2002-02-07 14:02) [6]

Вот именно создать
Функцию я вызываю так ComboBox.Items.Assign(CreateList)
и как мне в этом случае освободить?


 
BlankAlex   (2002-02-07 14:08) [7]

А что перед этим нельзя прокреатить list, чтобы потом же его сразу и уничтожить после assign


 
Дмитрий   (2002-02-07 14:10) [8]

>>Egen
Call Assign to copy the properties or other attributes of one object from another
Assign - копирует данные

Очень удобно манипулировать строками, на худой конец.
var a: string;
var b: TStringList;
...
a:="First str"#13#10"SecondStr";
b.Text:=a;
b.Add("Third str");
a:=b.Text;

т.е. результат возвращать в виде строк, разделенных \r\n


 
Egen   (2002-02-07 14:25) [9]

все понятно. как я и предполагал придется делать примерно так
procedure CreateList(var Strings)
...
CreateList(ComboBox.Items) или что-то в этом роде. Это правда мне не очень нравится т.к. в этом случае придется учитывать возможность добавления в лист. а не его замена. Ну с этим я справлюсь. Хотелось просто попроще. ВОТ.
В любом случае всем спасибо. Благодарю за советы. :)


 
Egen   (2002-02-07 14:48) [10]

Хотя нет лучше наверно воспользоваться вариантом Дмитрия ©.
>>Дмитрий ©. Отдельное БААЛЬШООООООЕЕЕЕ СПАААСИИБААААА.
Я про эти пропертя и забыл совсем. Ламер, что поделаешь.

>> all Извините за глупые вапросы.


 
Юрий Зотов   (2002-02-07 15:49) [11]

> Egen

И какие проблемы?

Если не хотите менять Вашу CreateList - так и не меняйте. А вызывайте ее, например, так:

with CreateList do
try
ComboBox.Items.Text := Text
finally
Free
end;



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2002.02.25;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.004 c
4-79500
NetBreaker666
2001-12-23 00:33
2002.02.25
Multimedia timer


1-79384
С_тоша
2002-02-06 18:05
2002.02.25
Мастера Очень нужно


4-79497
Iron_man
2001-12-23 11:17
2002.02.25
Midi


14-79427
Любитель Делфи
2002-01-05 15:23
2002.02.25
Проблемма с исходником С++ Bilder и Delphi


7-79488
Прикольщик
2001-11-15 22:53
2002.02.25
помогите чем можете





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