powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Сеттер проперти
10 сообщений из 35, страница 2 из 2
Сеттер проперти
    #40011582
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Док
XMLDoc один раз создается(в OnCreate) и один раз разрушается (в OnClose) главной формы, хотелось бы услышать советы в контексте данного условия.
Ну тогда все просто
Код: pascal
1.
property XMLDoc: TXMLDocument read FXMLDoc write FXMLDoc;


Док
Далее по коду у меня в основном идут проверки существования XMLDoc
Зачем? Если объект всегда создается
...
Рейтинг: 0 / 0
Сеттер проперти
    #40011588
x1ca4064
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Док

"Ну нету у меня, мужик, холодильника!" (с)

Нет такого метода у этого класса.


А CloneNode не подходит? Глубоко dom.pp не смотрел.
...
Рейтинг: 0 / 0
Сеттер проперти
    #40011736
Фотография Док
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_
Зачем? Если объект всегда создается

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


x1ca4064
А CloneNode не подходит? Глубоко dom.pp не смотрел.

есть такой
https://lazarus-ccr.sourceforge.io/docs/lazutils/laz2_dom/tdomnode.clonenode.html

т.е. так будет корректно?
Код: pascal
1.
2.
3.
4.
5.
6.
7.
procedure TfrmMain.SetXMLDoc(AValue: TXMLDocument);
begin
  if FXMLDoc=AValue then Exit;
  if Assigned(FXMLDoc) then FreeAndNil(FXMLDoc);
  //FXMLDoc:=AValue;
  AValue.CloneNode(True,FXMLDoc);
end; 



Кстати, хотел уточнить
Код: pascal
1.
if FXMLDoc=AValue then ...


будет возвращать True, если оба аргумента равны nil?
...
Рейтинг: 0 / 0
Сеттер проперти
    #40011740
Фотография Док
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Док
т.е. так будет корректно?

не-а, при попытке создать экземпляр XMLDoc получаю отлуп
Project fb_util_wrapper raised exception class 'EDOMNotSupported' with message:
EDOMNotSupported in Cloning/importing of TXMLDocument is not supported

In file 'laz2_dom.pas' at line 1345:
raise EDOMNotSupported.Create(Format('Cloning/importing of %s is not supported', [ClassName]));
...
Рейтинг: 0 / 0
Сеттер проперти
    #40011779
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Док
Док
т.е. так будет корректно?

не-а, при попытке создать экземпляр XMLDoc получаю отлуп
Project fb_util_wrapper raised exception class 'EDOMNotSupported' with message:
EDOMNotSupported in Cloning/importing of TXMLDocument is not supported

In file 'laz2_dom.pas' at line 1345:
raise EDOMNotSupported.Create(Format('Cloning/importing of %s is not supported', [ClassName]));

Я что-то нигде не нашёл, что CloneNode само создаёт XMLDocument. Попробуй вместо FreeAndNil вызывать Clear (или что-там у него).
...
Рейтинг: 0 / 0
Сеттер проперти
    #40012707
Фотография Док
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alekcvp
Я что-то нигде не нашёл, что CloneNode само создаёт XMLDocument. Попробуй вместо FreeAndNil вызывать Clear (или что-там у него).

У Лазарусовского XML нет ни Clear, ни Assign - только Free, только хардкор TextContent :)

Короче, отказался я пока от этого. Перед созданием дочерней формы решил сохранять настройки формы-owner'а в файл, а после уничтожения дочки (которая меняет содержимое файла настроек) - опять грузить в хозяина настйроки из измененного файла. Слишком уж стремно где-то "потерять" ссылку на свойство и получить утечку
...
Рейтинг: 0 / 0
Сеттер проперти
    #40012777
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Док,

А почему не пользуешься XMLPropStorage?
...
Рейтинг: 0 / 0
Сеттер проперти
    #40012808
Фотография Док
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kazantsev Alexey,

чет мне как-то не зашел он, функционал показался бедным, да и компонент кривой, КМК. Может я чего не понял. В любом случае, я решил использовать пакеты Laz2_DOM и иже с ним, тем более, что они понимают UTF8.

Время будет, попробую еще JSON Tools
...
Рейтинг: 0 / 0
Сеттер проперти
    #40012815
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Док
чет мне как-то не зашел он, функционал показался бедным

Свойства пишет/читает, и автоматически, и кастомно. Чего тебе ещё-то нужно?
...
Рейтинг: 0 / 0
Сеттер проперти
    #40012913
Фотография Док
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kazantsev Alexey
Свойства пишет/читает, и автоматически, и кастомно. Чего тебе ещё-то нужно?

что-то не взлетело, какие-то кастомные свойства. Щас не вспомню
...
Рейтинг: 0 / 0
10 сообщений из 35, страница 2 из 2
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Сеттер проперти
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]