Delfi maestru, forme de nave dintr-o bază de date sau cum să se înregistreze o clasă de numele său

Formularul navei din baza de date sau de modul în care să se înregistreze o clasă de numele său

Roschupkin AV
Universitatea de Stat Ural de Transport Feroviar, Laboratorul de Modelare Matematica si Informatica Tehnologii, Ekaterinburg







Baza de date.

Descărcați formularul din baza de date.

Pentru a descărca formularul de interogare a bazei de date de resurse pentru a plasa rezultatul în domeniul clasei FRMDFM TBlobField. Exemplu de a crea un astfel de câmp poate fi găsit în fișierul de ajutor Delphi pentru TBlobField clasa constructor. În continuare, vom stoca informațiile în acest domeniu TMemoryStream. Pentru a converti text, pe care le-am păstrat în TMemoryStream, la formatul resursei utiliza ObjectTextToResource forma funcției. După aceea, puteți crea un formular folosind o funcție de clasa ReadComponentRes TMemoryStream. Textul codului este responsabil pentru încărcarea formei, a se vedea exemplul atașat (funcția TFormLoader.LoadForm, fișierul UntDynamicLoad).

Clasa de înregistrare.

Odată ce am considerat sub formă de resurse TMemoryStream și înainte de realizarea acestei resurse folosind funcția ReadComponentRes trebuie să fie înregistrate toate clasele utilizate într-o formă descărcabil. Obține toate aceste clase, puteți analiza forma de resurse în forma sa de text (fiecare nume de clasă este urmat de două puncte, în linie cu cuvântul obiect).







În continuare, trebuie să vă înregistrați această clasă, în cazul în care nu a fost înregistrată anterior.

Clasa înregistrată prin RegisterClass procedură (ACLASS: TPersistentClass). După ce am analizat forme de viață, avem doar numele clasei. Delphi nu oferă o clasă standard, în numele procedurilor de înregistrare (obținerea unui pointer la clasa folosind functia getClass (const ClassName: string), dacă nu este deja înregistrat, nu poți desigur).

Un exemplu de un program care încarcă formularul din baza de date.

Toate funcțiile pentru a descărca formularul într-o clasă TFormLoader non-vizual separat (fișier UntDynamicLoad). Funcții POSearchClasses, POSearchClassesCallBack aparțin Ludovic Dubois și servi pentru TClass de exe sau un fișier bpl prin numele său. Proiectul este setat pentru a utiliza pachete de rulare. Funcția CollectAllPackages returnează o listă a tuturor modulelor folosite (acestea vor fi revizuite pentru intrarea în clasa dorită a acestora). LoadForm Funcția de fapt creează și încarcă formularul din baza de date. Codul sursă poate fi luat aici: programme.zip (71 Kb)