
Visual Foxpro - modeless formulare - problem s blokovanim ostatnych formularov
Zdravim,
neviem, ci sa tu najdu nejaky fox programatori, lebo potrebujem poradit v nasl.
viem vytvorit viacero nezavislych modeless formularov (on top) a da sa medzi nimi nezavisle robit, ale az do okamziku, ked niektory z tych formularov zacne nieco pocitat - napri.caka 20 sekund cyklus.
Vtedy aj ostatne modaless formulare su nedostupne, a cakaju, ked skonci ten jeden s pocitanim v metode.
otazka: ako dosiahnut nezavislost formularovych vlakien, aby ked aj v jednom vlakne (formulari modaless sa pocita) to neovplyvnovalo ostatne formulare (aby sa dalo aj v inych nieco robit)
dufam, ze som to napisal akotak zrozumitelne a z sa najde niekto, kto ma nasmeruje na riesenie.
vopred diky
P.S. ide VFP90 demo
VFP je na tohle hloupé. Je to dobrý jazyk na práci s databází, pokud máš jeden formulář. Ale jakmile jej chceš použít na něco trochu jiného, dělá se to hrozně blbě. To byl také důvod, proč jsme od VFP odešli, když jsme přecházeli z DOSu na Windows.
Jeden formulář a pak blbě? Můj táta udělal celej soft pro fabriku ISO, naprosto v pohodě, ve VFP. A tam je hafo formulářů a pěkně mu to jelo... Řádek po řádku.
Tazatel psal o něčem jiném. Jemu běží dotazy současně v několika formulářích - v jednom např. spustí dotaz a chce mezi tím pracovat v jiném. To, co popisuješ ty, je klasická aplikace, na kterou je VFP projektované a bude to běžet naprosto bez problému se stovkami formulářů.
Nevím jak to máš navržené, a jak to pracuje ale řešením je Datasession a nezávislé cursory tvořené např. dotazy - hledej v nápovědě.
Prostředí VFP je klasická MDI aplikace, která se dá "zlomit" tak, aby neukazovala hlavní form na pozadí, ale základ stále zůstává. Tkaže obsahuje pouze jedno vlákno a jakmile provádíš nějaký dotaz, aplikace prostě "čeká", až dotaz skončí
medzitym sa mi to nejako podarilo cez volanie druhej vfp.exe aplikacie
cez RUN /n apl2.eze (t.j. necaka na ukoncenie apl2, len vytvori novy nezavisly EXE proces, co som chcel)
len bohuzial neviem jednoducho manipulovat z premennymi z jednej aktivnej VFP aplikacie EXE do druhej aktivnej VFP EXE palikacie, tak som to vyriesil trapne cez zapis do suboru a citanie zo suboru.
robil som aj COM servre, lenze tie pristupy k premennym su na neaktivne premenne servera, nie na aktivny VFP EXE proces aplikacie2, takze to neslo tak prenasat,
mozno mi niekto poradi, ako sa dostat do aktivneho procesu k premennym z jednej akt. VFP.EXE apl do druhej VFP EZE apl. to by bolo super, len dufam, ze to nebude treba cez c++ :)
vopred diky.
Přímý přístup bych moc nedoporučoval. Ve Windows se tohle řeší formou zpráv, data se dají přadávat pomocí zprávy WM_COPYDATA
Můžeš to udělat i složeně - vytvoříš soubor a pomocí jednoduché zprávy aplikaci oznámíš, že má soubor nebo záznam v DB nebo zápis v registrech zpracovat.
diky za super tip,
idem googlit WM_COPYDATA