Сериализация DFM-файл файла
Linux_64
Дата: 27.09.2019 23:57:19
Задача такова: Имеется DFM-файл-файл стандартной структуры Delphi, и в него нужно записать строку в виде "OnClick = NewForm1Click" перед словом "end". Как это сделать?
Образец DFM-ФАЙЛ-файла:
object Form1: TForm1
Left = 230
Top = 186
Width = 407
Height = 137
Caption = "Form1"
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -13
Font.Name = "MS Sans Serif"
Font.Style = []
OldCreateOrder = False
PixelsPerInch = 120
TextHeight = 16
object Memo1: TMemo
Left = 208
Top = 8
Width = 185
Height = 89
Lines.Strings = (
"Memo1")
TabOrder = 0
end
Linux_64
Дата: 28.09.2019 00:26:39
DefineProperty ? Как добавить в поток эту строку?, при чем эта строка должна относиться к этому объекту.....? Отесать если там Memo или ListBox, то строка должна относиться к его описанию, перед словом end
Linux_64
Дата: 28.09.2019 00:32:54
У меня есть процедура для очистки строки DFM-файл...
procedure RemoveEventHandlers(SL:TStrings);
const
Key1 = ' On';
Key2 = ' = ';
var
i, k1,k2 : Integer;
S : String;
begin
for i := SL.Count-1 downto 0 do begin
S := SL[i];
k1 := pos(Key1, S);
k2 := pos(Key2, S);
if (k1 <> 0) AND (k2 > k1) then begin
// remove it:
SL.Delete(i);
end;
end;
end;
Но как ее присвоить?
Linux_64
Дата: 28.09.2019 00:35:09
Осталось 1:12
Как вписать в DFM-файл -файл эту строку?
Linux_64
Дата: 28.09.2019 00:38:52
Если не пить пиво и не гулять по-девочкам, то мозг начинает работать...
DimaBr
Дата: 28.09.2019 00:39:07
Вы не должны заниматься сериализацией компонентов.
Компоненты это умеют делать сами.
Linux_64
Дата: 28.09.2019 00:45:37
DimaBr, Дима, это делается не по средствам среды. Как Делфи добавляет ссылку на обработчик событий в DFM-файл файл ,- "OnClick = NewForm1Click" , при чем добавляет ее в нужное место для нуд6ого компонента. Вам ведь известен мой проект?, да, он вам известен. Готовность 90%. Остался маленький обработчик событий, код которого , будет общим...
Короче , как мне вписать эту строку в DFM-файл ?
Linux_64
Дата: 28.09.2019 00:47:45
DimaBr,
Не умеют,!!! Или не полностью. Почему тогда, при сохранении формы в поток со всеми его свойствами, - все сохраняется за исключением событий - методов ?
DimaBr
Дата: 28.09.2019 00:51:47
Сериализацией объектов занимается TWriter/TReader
Бессмысленно придумывать собственный механизм, если уже таковой есть.
Сначала придумайте как прочитать событие и показать его в дизайнере
DimaBr
Дата: 28.09.2019 00:53:42
Linux_64 |
---|
Почему тогда, при сохранении формы в поток со всеми его свойствами, - все сохраняется за исключением событий - методов ? |
Если события есть (назначены) и не сохраняются, то что мешает поставить бряку и посмотреть почему это происходит ?