Делфи майстор, корабни форми от база от данни или как да се регистрирате клас от името му

Кораб форма от базата данни или как да се регистрирате клас от името му

Roschupkin AV
Урал държавен университет на железопътния транспорт, Лаборатория по Математическо моделиране и компютърни технологии, Екатеринбург







База данни.

Изтеглете формуляра от базата данни.

За да изтеглите формата от заявката за база данни на ресурсите, за да поставите резултата в полето FRMDFM TBlobField клас. Пример за създаване на такова поле може да се намери в помощния файл, Delphi за TBlobField клас конструктор. На следващо място, ние съхраняваме информацията в тази област TMemoryStream. За да се превърне текста, който сме пазили в TMemoryStream, към формата на ресурса се използва форма функция ObjectTextToResource на. След това можете да създадете форма с помощта на класа функция ReadComponentRes TMemoryStream. Текстът на кода е отговорен за зареждане на формата, вижте прикачения пример (функция TFormLoader.LoadForm, UntDynamicLoad файл).

Клас регистрация.

След като разглежда под формата на ресурс TMemoryStream и преди създаването на този ресурс с помощта ReadComponentRes функция трябва да бъдат регистрирани всички класове, използвани в достъпен за изтегляне форма. Вземете всички от тези класове, можете да направи разбор форма на ресурсите в текста си форма (всяко име, клас е последван от двоеточие, в съответствие с предмет на думата).







На следващо място, трябва да се регистрирате този клас, ако това не е било регистрирано.

Клас отчита чрез RegisterClass процедура (AClass: TPersistentClass). След като направи разбор форми на живот, ние имаме само името на класа. Delphi не предоставя стандартен клас от името на процедурите по регистрация (по получаване на указател към класа с помощта на функцията GetClass (Конст име на класа: низ), ако вече не е регистриран, не можете да разбира се).

Пример за програма, която се зарежда формата от базата данни.

Всички функции за изтегляне под формата на отделен извън визуален клас TFormLoader (файл UntDynamicLoad). Функции POSearchClasses, POSearchClassesCallBack принадлежат Людовик Дюбоа и служат за Чклас от Търсейки или BPL файл с името му. Проектът е настроен да използва по време на изпълнение на пакети. функция CollectAllPackages връща списък на всички използвани модули (те ще бъдат преразгледани за влизане в желаната от тях клас). Функция LoadForm всъщност създава и зарежда формата от базата данни. Изходният код може да бъде взето тук: programme.zip (71 Kb)