|
|||
Скачать Усовершенствованый TResourceFile
13.03.1997 { Last modified: 23/01/96 } { } { ******************************* } { * Ruslan Bondarenko * } { ******************************* } { * My Pascal Library * } { * (BPL) * } { * CopyRight * } { * Dniepr, 2:464/39@fidonet * } { * * } { * 1995-96 * } { ******************************* } Это усовершенствованый TResourceFile из стандартного модуля Objects.pas Как известно TResourceFile имеет один существенный недостаток, при записи в ресурс нового обьекта затирается каталог обьектов и если по каким либо причинам не вызван метод Flush (отключение питания, RunError), то ресурс можно считать потеряным. Поле Page можно изменять "на ходу".+ TObjectBase может работать в сети (к одному ресурсу могут обращаться несколько программ как в режиме чтения так и записи) Для этого надо вызвать метод Lock, произвести необходимые действия с ресурсом, а затем UnLock. При вызове Lock необходимо проверять поле ErrorInfo, т.к. ресурс может быть заблокирован другим приложением -- Пример 1 ------------------------------------- with DB^ do begin Lock; if ErrorInfo = 0 then begin Put(New(PNewObject, Init)) Unlock; end else Reset; end; + В TObjectBase добавлен метод SearchKey -- Пример 2 ------------------------------------- var SearchVar: TSearchMode; MyObject: TMyObject; begin with DB^ do begin SearchVar := mSearchFirst; I := SearchKey('My Object', SearchVar); while I <> 0 do begin SearchVar := mSearchNext; MyObject := TMyObject(Get(I)); I := SearchKey('My Object', SearchVar); end; end; end; + Возможность работы под Dos/DPMI/Win * Вся остальная работа c TObjectBase соответствует TResourceFile | |||
© 2009–2023 Russian Pascal Developer Network.
Техническая площадка: ISBIZ Хостинг |