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

Вниз

Сохранение формы   Найти похожие ветки 

 
dim-   (2002-09-29 21:15) [0]

Как можно сохранить форму со всеми компонентами, делаю перебор всех компонентов, но чтобы сохранить например ширину кнопки делаю: TBUTTON(tmpform.Components[I]).Width, а как сделать универсально?


 
Юрий Зотов   (2002-09-29 22:23) [1]

WriteComponentResFile("Form1.sav", Form1);

И все. Одна строка. Универсально. Но сохраняет только published-свойства и события - как и сама Delphi.


 
dim-   (2002-09-30 00:36) [2]

Спасибо, сохранять получается, но сохраняет не все.
Я добавил свою переменную к компоненту
type TButtonD=class(TButton)
constructor Create(AOwner: TComponent); override;
public
Funct:tstringList
end;
вот ее и не восстанавливает почему-то


 
Туберкулез   (2002-09-30 02:07) [3]

Что значит "почему-то"? Читайте внимательнее:

"Но сохраняет только published-свойства и события - как и сама Delphi".

Если нужно сохранять public или что угодно еще, заместите метод DefineProperties и напишите к нему методы Read и Write. Примеры возьмите в VCL.



 
dim-   (2002-09-30 09:09) [4]

если вместо public ставлю published все равно не сохраняет


 
Юрий Зотов   (2002-09-30 09:48) [5]

1. С каким владельцем создается кнопка?
2. В момент сохранения Funct долежен быть создан и не пустой.


 
dim-   (2002-09-30 10:26) [6]

владелец форма и Funct создан и текст имеет


 
Юрий Зотов   (2002-09-30 14:49) [7]

Так не бывает. Показывайте код.


 
dim-   (2002-09-30 20:39) [8]

Кнопка создается компонентом ExtLib2_1

type TButtonD=class(TButton)
constructor Create(AOwner: TComponent); override;
published
Funct:tstringList;
end;
...
constructor TButtonD.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
Funct:=tstringList.Create;
end;
...
tmpform:=tform.Create(Application);
...
TButtonD(ELDesigner1.SelectedControls.Items[0]).Funct.Assign(form4.Memo1.Lines);
WriteComponentResFile(SD1.FileName, tmpform);
...
ReadComponentResFile(od1.FileName, tmpform);



 
Старый паскалист   (2002-09-30 22:45) [9]

Так сохраняются только опубликованные свойства.
А Funct у тебя - поле, а не свойство.
Нужно написать так:

type

TButtonD=class(TButton)
private
FFunct: TStringList;
//лучше TStrings - а при создании := TStringList.Create;
public
constructor Create(AOwner: TComponent); override;
published
property Funct:TStringList read FFunct write SetFunct{FFunct.Assign(...)};

end;



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

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

Наверх





Память: 0.46 MB
Время: 0.007 c
3-31608
Artur K
2002-09-18 21:23
2002.10.10
Paradox по сети как работать?


1-31895
Manulo
2002-09-29 19:58
2002.10.10
Поиск...


3-31585
BCPP_Builder_Dev
2002-09-18 11:48
2002.10.10
Коллеги! Как


14-31939
Suntechnic
2002-09-13 18:16
2002.10.10
GUID


1-31797
ksan
2002-10-02 10:04
2002.10.10
фокусировка компонента





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