Главная страница
    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.57 MB
Время: 0.033 c
4-32060
Kirill_
2002-07-24 00:13
2002.10.10
Как добавить свой пунктик в PopupMenu explorer


3-31607
****
2002-09-18 12:42
2002.10.10
Ошибка


1-31784
sanpav
2002-09-27 16:22
2002.10.10
Как с помощью компонента TTaskItem создать задачу в Outlook?


1-31893
kefirilla
2002-09-30 09:01
2002.10.10
QuickReport=>>>Excel или .Txt


1-31847
Ahmad
2002-09-25 07:11
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский