Hvala puno... vidi se da nisam bas dovoljno azurno pretrazivao source code koji su Borland-ovci tako velikodusno dali uz Delphi. Videh ja bar desetak puta TWriter, TReader i TFiler klase, ali me nije bas "toliko" zanimalo da provaljujem sta se unutra radi... Skapirao sam mehanizam DefineProperty(ies) i sad znam da se podaci cuvaju u dfm-u a ne u dcu-u (Rajko, izvini :), a i to da je mehanizam sam po sebi jednostavan... mada mi je za ideju koju sam imao ipak nije resenje upotreba gorenavedenih metoda
Samo da razjasnim zasta mi je u stvari i trebao resurs komponente: napravio sam emulator baze podataka (sopstveni tip, bez Variant tipova ili upotrebe bilo kog DB engine-a) koji sasvim pristojno radi i koji kao nacin definisanja hijerarhije podataka koristi "definiciju" (npr:"C*(byS+S+woT+T+N+R)+3*(byS+S)"). E, sada, posto je ovo nesto sasvim drugacije od koriscenih stvari bio je neophodan kraci tekst kao uputstvo (da bude element u komponenti, ne kao .txt fajl koji bi isao uz komponentu posto je potreban i prilikom kreiranja baze, a glupo je uz program davati .hlp fajl samo za definiciju). Ideja je bila da se pritiskom na dugme "Help" dinamicki kreira forma sa TMemo-om u sredini i da se onda iscita tekst iz resource-a. Ovo radi kada se menja .res fajl nekog programa i zatim podatak cita direktno iz tog programa; medjutim, kada se ubaci tekst u .res izvornog koda forme koja ide uz neku komponentu i iz koje (misli se na formu) se poziva taj tekst, resource sa tim ID-om ne postoji pa se tekst ne ucitava. Kao resenje sam jednostavno dodao jos jednu formu u paket komponente sa memo-om u koji sam ubacio tekst u design-time-u pa sada sve radi ok. Zasto sam uopste komplikovao stvar ranije nije mi bas jasno...
Uzgred, treba mi uporedjivanje brzine te moje emulirane baze podataka sa nekom stvarnom (ako posedujete podatke o brzini neke realne baze podataka-access, db, paradox).
Struktura: jedan field (string duzine 128KB) x 100 instanci. (ukupna velicina 12,5MB)
PC: P3-933, XP, 256MB RAM, Quantum 30GB 7200rpm
Sledece procedure idu jedna za drugom:
Kreiranje baznog stringa: 0:0051 (s:ms)
Unosenje podataka u bazu: 0:3571
Snimanje baze: 0:3380
Brisanje podataka u bazi: 0:0046
Ucitavanje baze: 0:3515
Ukupno: 1s:0886ms
P.S. uzgred, koristio sam QueryPerformanceCounter pa su mi zato precizna merenja...
P.P.S. izvinjavam se ako sam delovao malo grub u prethodnim porukama (prijemni za faks, pa sam bio malo nervozan itd. :)
P.P.S. na kraju, samo da kazem da sam i ja jurio syntax highlighting, i da sam ga resio na isti nacin kao u prethodnoj poruci, ali da je najveci problem flickering koji se javlja kada se neki deo teksta selektuje, pa promene svojstva..., ali evo resenja: Inno setup ima kompajler sa pristojnim syntax highlightingom.
www.jrsoftware.org preko Spy++a sam saznao da koristi kontrolu "TSynEdit" koju sam nasao na sajtu
http://synedit.sourceforge.net/ (kad vec spominjemo protocni bojler... :)
Don't try to impress me... I'm good !