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

Вниз

StringGrid.Rows   Найти похожие ветки 

 
Separator ©   (2007-10-09 12:18) [0]

Какой вариант правильный:


   Result:= StringGrid.Rows[0].Strings[0]


или


   S: TStrings;

   S:= StringGrid.Rows[0];
   Result:= S.Strings[0];
   S.Free


 
clickmaker ©   (2007-10-09 12:32) [1]

с какой радости во втором S.Free?


 
ЮЮ ©   (2007-10-09 12:36) [2]

StringGrid.Rows[0].Strings[0] === StringGrid.Cells[0, 0]

При чем здесь Subj? Да и в чем вопрос, собственно?


 
Separator   (2007-10-09 12:36) [3]

При вызове функции StringGrid.Rows создается ли новый экземпляр класса TStrings со значениями или дается ссылка на уже существующий экземпляр?


 
Separator   (2007-10-09 12:41) [4]


> StringGrid.Rows[0].Strings[0] === StringGrid.Cells[0, 0]

Это я знаю, так для примера привел. В данном случае, при вызове функции Rows, нужно ли после использования очищать S, или можно просто 1 вариант использовать?


 
ЮЮ ©   (2007-10-09 12:46) [5]

А что исходники уже закрыты? В D7 правильный вариант совсем другой:

function TStringGrid.GetRows(Index: Integer): TStrings;
begin
 Result := EnsureColRow(Index, False);
end;

function  TStringGrid.EnsureColRow(Index: Integer; IsCol: Boolean):
 TStringGridStrings;
var
 RCIndex: Integer;
 PList: ^TSparseList;
begin
 if IsCol then PList := @FCols else PList := @FRows;
 Result := TStringGridStrings(PList^[Index]);
 if Result = nil then
 begin
   if IsCol then RCIndex := -Index - 1 else RCIndex := Index + 1;
   Result := TStringGridStrings.Create(Self, RCIndex);
   PList^[Index] := Result;
 end;
end;


ЗЫ. Очищать ничего не нужно.  И даже вредно.


 
Separator   (2007-10-09 12:51) [6]

Спасибо, это и хотел узнать


 
Leonid Troyanovsky ©   (2007-10-09 12:57) [7]


> Separator   (09.10.07 12:51) [6]

> Спасибо, это и хотел узнать

Проще всего придерживаться правила  им. Т.Бульбы:
кто породил объект - тот его и убивает.

--
Regards, LVT.



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

Текущий архив: 2007.10.28;
Скачать: CL | DM;

Наверх




Память: 0.45 MB
Время: 0.047 c
2-1191568762
em240
2007-10-05 11:19
2007.10.28
locate+настройка поиска


15-1190978114
infom
2007-09-28 15:15
2007.10.28
Странное поведение BDS 2006


2-1191823092
Kolan
2007-10-08 09:58
2007.10.28
Как запретить перерисовываться TScrollBox у?


2-1191466496
Alex_Y
2007-10-04 06:54
2007.10.28
не работает Anchors


15-1190126099
alex_ant
2007-09-18 18:34
2007.10.28
Поможет ли тут система сопровождения версий?





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