Главная страница
    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.006 c
4-1221723822
mikaa
2008-09-18 11:43
2011.03.20
Shell_NotifyIcon в Windows 2003


15-1291751037
Сергей М.
2010-12-07 22:43
2011.03.20
А как нужно умудриться


2-1293204046
nza
2010-12-24 18:20
2011.03.20
Ошибка св-во типа TStringList


15-1291296907
TP
2010-12-02 16:35
2011.03.20
Turbo Pascl & реестр


15-1289830662
xayam
2010-11-15 17:17
2011.03.20
Шахматы.рф





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