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

Вниз

Ошибка св-во типа TStringList   Найти похожие ветки 

 
nza   (2010-12-24 18:20) [0]

Пытаюсь сделать у компонента свойство типа TStringList.
пытаюсь ввести строки в Object inspector, ввожу
после ввода выскакивает ошибка. Помогите разобраться.
делаю так:


private
...
   FFixedCaption :TStringList;
   function GetFixedCaption: TStringList;
   procedure SetFixedCaption(const Value: TStringList);
...
published
...
property FixedCaptions: TStringList read GetFixedCaption write SetFixedCaption;
...
implementation
...
constructor TButtonGrid.Create(AOwner: TComponent);
begin
 inherited Create(AOwner);
 FFixedCaption:=TStringList.Create;
...

procedure TButtonGrid.SetFixedCaption(const Value: TStringList);
var i:integer;
begin
  if  not assigned(value) then exit;
  FFixedCaption:=value;
  for i:=0 to value.Count-1 do   FGrid.Cells[i,0]:=value[i];
end;

function TButtonGrid.GetFixedCaption: TStringList;
begin
 Result:=FFixedCaption;
end;

FGrid - это TStinggrid


 
Игорь Шевченко ©   (2010-12-24 18:44) [1]


> после ввода выскакивает ошибка


Секретная ?


 
nza   (2010-12-24 18:47) [2]

ошибка памяти


 
MBo ©   (2010-12-24 19:05) [3]

Вот здесь:
FFixedCaption:=value;
Assign происходит или нет?

И еще  - я не помню, можно ли published свойство типа TStringList делать?


 
nza   (2010-12-24 19:10) [4]

написал так:

procedure TButtonGrid.SetFixedCaption(const Value: TStringList);
var i:integer;
begin

FFixedCaption.Assign(Value);
...


ошибка пропала, но теперь введенные данные видны в конструкторе,
а при запуске приложения пропадают.


 
Игорь Шевченко ©   (2010-12-24 20:11) [5]


> ошибка памяти


склероз ?


 
Юрий Зотов ©   (2010-12-24 20:23) [6]


private
 FFixedCaption: TStrings;
 procedure SetFixedCaption(const Value: TStrings);
public
 constructor Create(AOwner: TComponent); override;
 destructor Destroy; override;
published
 property FixedCaptions: TStrings read FFixedCaption write SetFixedCaption;

// ==================

constructor TButtonGrid.Create(AOwner: TComponent);
begin
 inherited;
 FFixedCaption := TStringList.Create
end;

destructor TButtonGrid.Destroy;
begin
 FFixedCaption.Free;
 inherited
end;

procedure TButtonGrid.SetFixedCaption(const Value: TStrings);
begin
 FFixedCaption.Assign(Value)
end;


Повторите этот код ТОЧНО - и не будет никаких проблем.


 
nza   (2010-12-25 06:49) [7]

Повторил ваш код в точности,
данные из введенные в object inspector при запуске все рано пропадают


 
Ega23 ©   (2010-12-25 09:58) [8]

Я точно не уверен, компоненты давно с нуля не писал, но по-моему тебе либо свойство в published как TStrings объявить, либо Read-WriteComponent переопределить. Возможно оба вместе.


 
nza   (2010-12-25 13:26) [9]

Поставил цикл заполнение ячеек в CreareWnd, работает.
Правильно ли это?


 
_Юрий   (2010-12-25 14:33) [10]


> данные из введенные в object inspector при запуске все рано
> пропадают


Откройте DFM (формы, на которой лежит компонент) как текст и посмотрите, есть ли там эти данные.
Если нету - то надо разбираться со стримингом. Если есть - то косяк  в другом месте


 
Дмитрий С ©   (2010-12-25 17:43) [11]


> nza   (25.12.10 13:26) [9]

а до этого цикл в конструкторе create был?


 
nza   (2010-12-26 00:15) [12]


> Дмитрий С ©   (25.12.10 17:43) [11]


ннт цикл был в SetFixedCaption


 
Юрий Зотов ©   (2010-12-26 01:10) [13]

Ю>nza   (25.12.10 06:49) [7]
>Повторил ваш код в точности,
>данные из введенные в object inspector при запуске все рано пропадают

Значит, не  в точности. Настаиваю на своем- повторите в ТОЧНОСТИ.


 
Германн ©   (2010-12-26 03:03) [14]

http://delphimaster.net/view/2-1293131507/



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

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

Наверх





Память: 0.49 MB
Время: 0.005 c
15-1291739962
И. Павел
2010-12-07 19:39
2011.03.20
Ветер-ветер ты могуч :)


2-1293283172
sonny2son
2010-12-25 16:19
2011.03.20
Посоветуйте, как установить?


2-1293098804
RUu
2010-12-23 13:06
2011.03.20
объединение наборов данных


2-1293118090
nza
2010-12-23 18:28
2011.03.20
Непонятка с копонентом


15-1291659561
bss
2010-12-06 21:19
2011.03.20
Как определяют PR и тИЦ сайтов?





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