Archív konference Delphi

Zpět na výběr roku archívu nebo přejít na fulltextové vyhledávání v konferenci.

Vektorova grafika

[*] Radek Cervinka <radek.cervinka(zv)technodat(tec)cz> - 7.1.2005 10:27:18

Ing. Dubsky Jan wrote:

> Asi jsem se spatne vyjadril
>
> Nepotrebuji zobrazit jiz hotovy ulozeny dxf soubor, ale potrebuji nakreslit
> neco z udaju, ktere bude pocitat muj program. Vstupem by tedy byly hodnoty
> souradnic urcene mnou a obrazek by se postupne dokresloval a aktualizoval.
> Programem dopocitavane hodnoty by se do komponenty predavaly "nejak" (treba
> pomoci formatu dxf) ale podminkou je postupne generovani obrazku a ne pouhe
> zobrazeni jiz hotoveho a ulozaneho souboru dxf.
>
> Honza
no vsak jo:
http://www.csarsfield.com/delphi.shtml:

Source\Dxfgrph.pas - defines a class for reading in and drawing .DXF
files.

a nebo:

http://torry.net/pages.php?id=196, kde jsou nejmene 3 projekty (freeware
nebo open source)

Radek


Adonis a transakce

[*] Lstiburek Pavel <lstiburek(zv)ceb(tec)cz> - 7.1.2005 10:05:16

No vlastnosti v Adonisu nejsou prilis dulezite, podstatne je co podporuje
server a jak se to mapuje do vlastnosti v Adonis. MSSQL7/2000 podporuje:

READ COMMITTED
Specifies that shared locks are held while the data is being read to avoid dirty reads, but the data can be changed before the end of the transaction, resulting in nonrepeatable reads or phantom data. This option is the SQL Server default.

READ UNCOMMITTED (==dirtyread)
Implements dirty read, or isolation level 0 locking, which means that no shared locks are issued and no exclusive locks are honored. When this option is set, it is possible to read uncommitted or dirty data; values in the data can be changed and rows can appear or disappear in the data set before the end of the transaction. This option has the same effect as setting NOLOCK on all tables in all SELECT statements in a transaction. This is the least restrictive of the four isolation levels.

REPEATABLE READ
Locks are placed on all data that is used in a query, preventing other users from updating the data, but new phantom rows can be inserted into the data set by another user and are included in later reads in the current transaction. Because concurrency is lower than the default isolation level, use this option only when necessary.

SERIALIZABLE
Places a range lock on the data set, preventing other users from updating or inserting rows into the data set until the transaction is complete. This is the most restrictive of the four isolation levels. Because concurrency is lower, use this option only when necessary. This option has the same effect as setting HOLDLOCK on all tables in all SELECT statements in a transaction.

> Jeste je tu jedna vlastnost objektu TADOTable.LockType:
to rika kdy je polozen zamek (jaky to si rozhodne server).
Doporuceny je ltLockOptimistic = az v okamziku update ( zkus to a pokud to nevyjde reseni
kolize provede uzivatel = ty)

Transakace jsou ze sve podstaty "neparalelni", problemem na architekture pouzite u mssql je
zejmena INSERT, ktery zamyka celou tabulku = max jedna transakce na tabulku, duvodem
jsou (pry) klice, zejmena ty unikatni.
Dale SELECT, kdy se ceka na dokonceni vsech transakci (pri READ COMMITTED) - nebot
nejsou k dispozici stare hodnoty - ma pry resit MSSQL2005.

Cim delsi transakce, tim vetsi rezie a pravdepodobnost kolize a tim nizsi vykon.

Idelani je pro prehledy nastavit SET ISOLATION LEVEL READ UNCOMMITTED,
sice to co vidis neni nic moc, data mohou byt nekonzistentni, ale jde to rychle.
Pro editaci jeden radek mastra + radky detailu (nic vic !) READ COMMITTED.
Pro prehledy REPEATABLE READ nebo SERIALIZABLE ale, radeji to nepouzivat
vetsinou staci READ COMMITTED je to totiz pomale a blokuje to i ostani uzivatele.

Pavel

Vektorova grafika

[*] Ing. Dubsky Jan <dubsky(zv)s-palava(tec)cz> - 7.1.2005 10:01:15

Asi jsem se spatne vyjadril

Nepotrebuji zobrazit jiz hotovy ulozeny dxf soubor, ale potrebuji nakreslit
neco z udaju, ktere bude pocitat muj program. Vstupem by tedy byly hodnoty
souradnic urcene mnou a obrazek by se postupne dokresloval a aktualizoval.
Programem dopocitavane hodnoty by se do komponenty predavaly "nejak" (treba
pomoci formatu dxf) ale podminkou je postupne generovani obrazku a ne pouhe
zobrazeni jiz hotoveho a ulozaneho souboru dxf.

Honza


> Nevite prosim nekdo o komponente, ktera by umela zobrazovat vektorovou
> grafiku typy Autocad. Tedy vstup by byl obrazek ve formatu dxf a ono by se
> to nakreslilo. Nebo me trochu nakopnete, jak to naprogramovat. Jedna se
jen
> o kresleni primek a oblouku, takze vsechny dalsi slozitejsi entity (napr.
> koty) nepotrebuji nebo ozelim.


http://www.csarsfield.com/delphi.shtml
http://www.delphi-gg.nl/ForumArchief/DWG_viewer.htm

jinak mam jeste neco doma

a co takhle pouzit google?

http://www.google.com/search?hl=en&lr=&c2coff=1&q=dxf+drawing+delphi+compone
nt&btnG=Search


Adonis a transakce

[*] Martin Pavera <martin.pavera(zv)cmail(tec)cz> - 7.1.2005 09:33:11

Dik za radu, Tvuj trik vyzkousim...

Pouzivam Adonis a TADODatabase ma vlastnost TransIsolation:
Tohle pisou v napovede:
Indicates the level of isolation for database connection.
tiUnspecified - unspecified isolation level.
tiChaos - indicates that you cannot overwrite pending changes from more
highly isolated transactions.
tiReadUncommitted - same as tiBrowse.
tiBrowse - indicates that from one transaction you can view uncommitted
changes in other transactions.
tiCursorStability - indicates that from one transaction you can view changes
in other transactions only after they've been committed.
tiReadCommitted - same as tiCursorStability.
tiRepeatableRead - indicates that from one transaction you cannot see
changes made in other transactions, but that requerying can bring new
recordsets.
tiSerializable - same as tiIsolated.
tiIsolated - indicates that transactions are conducted in isolation of other
transactions.

Nastavil jsem tiReadCommited, potom jsem zkusil tiReadUncommited...
DirtyRead tady neni.
Zajimalo by mne proc tady nefunguje "paralelni zpracovani transakci" ?

Jeste je tu jedna vlastnost objektu TADOTable.LockType:
Specifies records locking.
ltLockReadOnly - read-only, you cannot alter the data.
tLockPessimistic - pessimistic locking, record by record - the provider does
what is necessary to ensure successful editing of the records, usually by
locking records at the data source immediately upon editing.
ltLockOptimistic - optimistic locking, record by record - the provider uses
optimistic locking, locking records only when you call the Update method.
ltLockBatchOptimistic - optimistic batch updates - required for batch update
mode as opposed to immediate update mode.
ltUnspecified - Adonis relies on the underlying datasource to select the
locktype.

Nema na to vliv i tato vlastnost ?

| No nastavit to jde pouze na klientovi a pouze pro update,
| stavajici verze serveru neumoznuje urcit jaka data se budou
| cist (zda ta pred transakci nebo ta po ni, nastavi lze pouze
| dirtyread -> cti to co tam zrovna je.
| Pri insertu se zamyka cela tabulka (zajisteni jedinecnych klicu).
| Postup, ktery jsi zvolil je spravny, transakce musi byt co nejkratsi.
| Chyba je asi v postupu prace s memtable nebo v te komponente
| primo.
| Nacteni nejakych 300 radek z datasetu (je v pameti) do Memtable
| (v pameti) nemuze byt ani videt.
| Pokud mas D5E (nebo D6P a vyse), zkus trik s ulozenim datasetu do
| lokalniho souboru:
| TCustomADOCataSet.SaveToFile(const FileName: String = ''; Format:
TPersistFormat = pfADTG);
| TCustomADOCataSet.LoadFromFile(const FileName: String = '');
| nebo XML spolu s odpojenim od DB.
| Dalsi slozitejsi (ale ne moc) moznosti je vytvorit docasnou tabulku a do
ni ulozit kopii
| detailu a tu editovat.
|
| Pavel


Vektorova grafika DXF

[*] Daniel Rott <roxton(zv)seznam(tec)cz> - 7.1.2005 09:23:10

----- Original Message -----
> From: "Ing. Dubsky Jan" <dubsky(zv)s-palava(tec)cz>
> Nevite prosim nekdo o komponente, ktera by umela zobrazovat vektorovou
> grafiku typy Autocad. Tedy vstup by byl obrazek ve formatu dxf a ono by se
> to nakreslilo. Nebo me trochu nakopnete, jak to naprogramovat. Jedna se
> jen
> o kresleni primek a oblouku, takze vsechny dalsi slozitejsi entity (napr.
> koty) nepotrebuji nebo ozelim.

Ja na zobrazeni DXF souboru pouzivam CadImage.dll od ruskeho SoftGold
Licence stoji jen par dolaru (tusim neco okolo $20 pro jednoho uzivatele).
S autory se navic i dobre komunikuje, poradi, pripadne dodelaji i nejakou
novou funkci.

Jukni se na jejich nabidku, maji i jina reseni nez dll www.cadsofttools.com

Daniel


InnoSetup: potvrzeni smazani user dat

[*] Tomas Bihary <tomas.bihary(zv)post(tec)cz> - 7.1.2005 09:13:09

O vanocich uz vysla verze 5.0 a na stranka IS se pise toto

5.0.0-beta (2004-07-14)
Pascal Scripting can now be used to customize Uninstall:
Added Uninstall specific event functions InitializeUninstall,
DeinitializeUninstall, CurUninstallStepChanged and
UninstallNeedRestart. Added support functions IsUninstaller and
UninstallSilent.

Muze to pomoci?

Tomas Bihary


> -----Original Message-----
>
>
> > Pak mam druhy dotaz, ktery souvisi. Chci, aby na konci
> > odinstalace vyskocila uzivateli hlaska, jestli chce i tato
> > data odstranit. To se mi nepovedlo, ani podle FAQ. Jedine co
> > me napadlo je zapracovat parametr do aplikace a pred
> > odinstalaci nejprve spustit... Ale to neni ono, opravdu bych
> > chtel, aby se to ptalo az na konci. Diky
>

Vektorova grafika

[*] Radek Cervinka <radek.cervinka(zv)technodat(tec)cz> - 7.1.2005 09:07:08

Ing. Dubsky Jan wrote:

> Nevite prosim nekdo o komponente, ktera by umela zobrazovat vektorovou
> grafiku typy Autocad. Tedy vstup by byl obrazek ve formatu dxf a ono by se
> to nakreslilo. Nebo me trochu nakopnete, jak to naprogramovat. Jedna se jen
> o kresleni primek a oblouku, takze vsechny dalsi slozitejsi entity (napr.
> koty) nepotrebuji nebo ozelim.


http://www.csarsfield.com/delphi.shtml
http://www.delphi-gg.nl/ForumArchief/DWG_viewer.htm

jinak mam jeste neco doma

a co takhle pouzit google?

http://www.google.com/search?hl=en&lr=&c2coff=1&q=dxf+drawing+delphi+component&btnG=Search


Radek

Adonis a transakce

[*] Lstiburek Pavel <lstiburek(zv)ceb(tec)cz> - 7.1.2005 09:01:08

Sory, to co jsem napsal plati pro Adoexpres ( TCustomADOCataSet)
v Adonis je to jednodusi, pro vsechny verze:
TADODataSet a metody
procedure SaveXML(const FileName: String);
procedure Save(const FileName: String);
a
procedure Load(const FileName: String);

Pavel

FireBird: Jak na UNIQUE

[*] Milan Tomes <delphi(zv)haida(tec)cz> - 7.1.2005 08:43:05

No my mame relativne obsahlou a funkcni databazi i bez pouziti standardni
UDF. Takze s temi vyroky bych to zas az tak moc neprehanel...

S pozdravem

Milan Tomes

> [mailto:delphi-l-owner(zv)clexpert(tec)cz]On Behalf Of Slavomir Skopalik
> Sent: Friday, January 07, 2005 12:24 AM
>
> Dokud nepochopi, ze FB bez standartnich UDF je temer nepoizitelna DB,
> Slavek
> >
> > BTW nemuzu donutit admina nainstalovat standardni UDF, ma
> > nekdo napad jak ho donutit?
>
>
>
>

Adonis a transakce

[*] Lstiburek Pavel <lstiburek(zv)ceb(tec)cz> - 7.1.2005 08:43:05

No nastavit to jde pouze na klientovi a pouze pro update,
stavajici verze serveru neumoznuje urcit jaka data se budou
cist (zda ta pred transakci nebo ta po ni, nastavi lze pouze
dirtyread -> cti to co tam zrovna je.
Pri insertu se zamyka cela tabulka (zajisteni jedinecnych klicu).
Postup, ktery jsi zvolil je spravny, transakce musi byt co nejkratsi.
Chyba je asi v postupu prace s memtable nebo v te komponente
primo.
Nacteni nejakych 300 radek z datasetu (je v pameti) do Memtable
(v pameti) nemuze byt ani videt.
Pokud mas D5E (nebo D6P a vyse), zkus trik s ulozenim datasetu do
lokalniho souboru:
TCustomADOCataSet.SaveToFile(const FileName: String = ''; Format: TPersistFormat = pfADTG);
TCustomADOCataSet.LoadFromFile(const FileName: String = '');
nebo XML spolu s odpojenim od DB.
Dalsi slozitejsi (ale ne moc) moznosti je vytvorit docasnou tabulku a do ni ulozit kopii
detailu a tu editovat.

Pavel


> From: Martin Pavera [mailto:martin.pavera(zv)cmail(tec)cz]
> Ptal jsem se proto, protoze zatim delam opravu master-detail
> nasledovne:
> nactu data z master tabulky a detail tabulky do pameti
> (nejaka "MemTable").
> Uzivatel v modalnim okne doklad upravuje a po kliknuti na
> tlacitko OK se
> doklad ulozi. Nevyhoda: Nacitani dat do pameti a ukladani dat
> do databaze je
> pomale. (Doklad ma treba 300 radku.)
> Tak jsem chtel vyzkouset transakci, uzivatel bude data
> upravovat a na OK se
> spusti Commit nebo na Storno se spusti Rollback. Ale ted me
> prekvapilo to
> chovani tranakce, nejde to nejak sdilet ? Nebo musim nastavit
> vlastnost
> trasakce na serveru?
>

Runtime error 216 at xxxxxx

[*] Radek Cervinka <radek.cervinka(zv)technodat(tec)cz> - 7.1.2005 08:59:07

Ing. Jiri Sokol wrote:

> Ahoj panove.
> Mam nasledujici problem. Pri pokusu o spusteni me aplikace na PC u klienta to pri spusteni hlasi "Runtime error 216 at xxxxxx" a okamzite skonci - hned na to se objevi takove to okno z WinXP, ze doslo k problemu a jestli ho chci odeslat Microsoftu. Jde o PC s WinXP Prof + SP2, na kterem bezi MySQL + dalsi aplikace (na tomto PC je P4 + 1GB RAM). Ma aplikace vyzaduje TCP/IP protokol + pouzivam komunikaci po COM-portu + FB.
> Nejsem schopen identifikovat cim to je - vysvetleni v HELPu je "access violation" :(
> Tak jsem mrknul na google a tam je spousta informaci, ze by mohlo jit o vir. Tak jsem prosel objevene symptomy, ktere potvrdi jeho pritomnost, ale nic jsem nenasel.
blbost (resp. mala pravdepodobnost)

> Mam vyzkouseno, ze ma aplikace bezproblemu bezi na W95,98, WNT, W2k, WXP-Prof,Home. Kdyz jsme to u toho klienta nainstalovali na jiny PC, tak vse bezelo OK, nicmene na tom konkretnim PC se to rozjet nepodarilo.
jedna se fakt o AV, ale v situaci kdy jeste neni (nebo uz neni) v akci
handler vyjimek z VCL.

podle mne to muze taky nastat u SP2 v XP, proste je citlivejsi na
preteceni a zapis do pameti, ktera procesu uz nepatri, v tom pripade byl
nejaky objekt uvolnen a ty na nej pristupujes atd.

> Nevite nekdo jak analyzovat o co slo a co se stalo? V aplikaci mam logovani chyb z JCL, ale ani tohle se nechytlo.
> Nesetkal jste se s tim nekdo? Nevite jak to odchytit? Pokud to nebylo PC a bylo-li to mou aplikaci, tak bych to rad nasel a odstranil.
Pokud tam neni SP2 pak se to muze stat nekdy v sekci initialization,
finalization, nebo napr. v dpr, nebo v unitu system atd..
Stavalo se mi to kdyz pri praci s OLE, nebo kdyz jsem (ja nebo nejaka
komponenta) dynamicky natahoval nejakou knihovnu (ktera MUSELA :)
existovat...).

Nejlepe se do resi z IDE a krokovanim v okne CPU, dalsi moznosti jsou
MemProof, nekdy pomuze filemon (tim bych asi zacal pokud to nemuzu
krokovat z IDE, je to nejjednodussi - sysinternals.com), ktery odhali
nenalezene soubory a knihovny, nebo Win32dasm, TD a dalsi monitory (ale
to uz neni sranda - a delal bych to jen pokud to nemuzu delat z IDE)

Radek


Preview

[*] delphi(zv)kopr(tec)cz - 7.1.2005 08:57:07

Zkus se podivat na
kambiz(zv)delphiarea.com
http://www.delphiarea.com
Pavel ZIDEK


>> koukal jsem se, jak udelat nahled v delphi. Kdosi mi poradil komponentu
>> preview, ale tu jsem nikde nenasel. Pak jsem se dival na net a stahl
>> jsem si nejake soubory (zdrojaky), ale kdyz je chci kompilovat, tak me
>> to hlasi, ze nema knihovnu preview. Tak jsem se dival, ale knihovnu jsem
>> nikde nenasel. Muzete mi prosim pradit, kde se to da sehnat, nebo jak to
>> udelat jinak? Diky


Runtime error 216 at xxxxxx

[*] Karel Kral <kralkonf(zv)purus(tec)cz> - 7.1.2005 08:55:07

Souhlasim, taky jsem mel ten problem. Staci prekompilovat snejnovejsi
verzi JCL.

Jan Naiser napsal(a):
>
>
> mne to dela u aplikaci na P4 pri HT a pouziti knihovny JCL. Padne to na
> deleni nulou pri kontrole frekvence procesoru. Pokud kritickou cast (funkci)
> z kodu vyradim, jede to normalne. Pokud je to ono, zjistis tu cast pri

--
______________________________________________________
Karel Kral, vedouci odd. IT / IT manager
Purus, s.r.o., Cezavy 627, 664 56 Blucina, CZ
Tel: 547 235 000, 602 552 432, Fax: 547 231 203
E-Mail: mailto:kral(zv)purus(tec)cz, WWW: http://www.purus(tec)cz
______________________________________________________


Preview

[*] Bauglir <konference(zv)xhtmlweb(tec)com> - 7.1.2005 08:49:06

Petr Berek wrote:
> Zdravim,
> koukal jsem se, jak udelat nahled v delphi. Kdosi mi poradil komponentu
> preview, ale tu jsem nikde nenasel. Pak jsem se dival na net a stahl
> jsem si nejake soubory (zdrojaky), ale kdyz je chci kompilovat, tak me
> to hlasi, ze nema knihovnu preview. Tak jsem se dival, ale knihovnu jsem
> nikde nenasel. Muzete mi prosim pradit, kde se to da sehnat, nebo jak to
> udelat jinak? Diky

Stahni si JVCL, obsahuje (krome dalsi 100 komponent) i nahledy na tisk
http://homepages.borland.com/jedi/jvcl/

Brona

vyber vstupu pro nahravani TMediaPlayer do wav?

[*] Zapletal Martin <zapletal(zv)inoma(tec)cz> - 7.1.2005 08:39:05

Pekny ale jak prepinas ty vstupy? V helpu jsem nasel ze DeviceName je
Read-Only. Nebyl by kousek kodu?
Martin

> ja jsem pouzil tohle:
>
> Wave Audio Package v1.521
>
> {http://www.delphiarea.com)

FireBird: Jak na UNIQUE

[*] Jiri Cincura <diskuze(zv)cincura(tec)net> - 7.1.2005 08:03:02

Jakub Dusek wrote:
> Staci vysvetlit 2 - 3 rozumne duvody pro povoleni UDF jeho sefovi :)

No tak nevim jestli cte tuhle diskuzi, ale najednou mi prisel mail, ze (slavnostne) spustil to *.sql a je to tam.

Diky panove. :)

--
Jiri Cincura
http://www.cincura.net/
http://ID3renamer.cincura.net/
ICQ#: 314711544
http://photo.cincura.net/
http://phorum.cincura.net/
http://x2develop.com/

DBGrid + group

[*] Ing. Petr Kejval <petr.kejval(zv)worldonline(tec)cz> - 7.1.2005 08:03:02

Ahoj,
mohl bych poprosit o zaslani jednoducheho prikladu pouzitil. V pripade
vetsiho rozsahu na soukromy mail.

Petr


> ahoj,
>
> taky jsem dlouho hledal, ale nakonec jsem to resil pres Virtual Treeview,
> je sice pravda ze je to slozitejsi, ale mam treba 7 rozbalovacich urovni.
>
> Marek


Vektorova grafika

[*] Ing. Dubsky Jan <dubsky(zv)s-palava(tec)cz> - 7.1.2005 07:12:58

Nevite prosim nekdo o komponente, ktera by umela zobrazovat vektorovou
grafiku typy Autocad. Tedy vstup by byl obrazek ve formatu dxf a ono by se
to nakreslilo. Nebo me trochu nakopnete, jak to naprogramovat. Jedna se jen
o kresleni primek a oblouku, takze vsechny dalsi slozitejsi entity (napr.
koty) nepotrebuji nebo ozelim.

Diky za radu

Honza

DBGrid + group

[*] Marek <marek.rakowski(zv)trz(tec)cz> - 7.1.2005 06:08:53

ahoj,

taky jsem dlouho hledal, ale nakonec jsem to resil pres Virtual Treeview,
je sice pravda ze je to slozitejsi, ale mam treba 7 rozbalovacich urovni.

Marek

>Ahoj,
>nevite o nejakem free DBGridu, kde by slo podle stejnych hodnot vybranych
>sloupcu seskupit radky a na klik je zase rozbalit i se sloupci s odlisnymi
>hodnotami.
>
>Petr
>
>
>
>
>

InnoSetup: potvrzeni smazani user dat

[*] Martin Schayna <mschayna(zv)aktis(tec)cz> - 7.1.2005 02:22:36

Cizek Milan wrote:
> tak jsem to zkousel vyresit pomoci vlastniho kodu, to by asi problem
> nebyl... Funkce DeleteAppData by mela v pripade potvrzeni dotazu data sama
> odstranit, vratit true, cim se nasledne provede delete celeho adresare. Tedy
> pokud pravne chapu. Problem mam ovsem s tim, ze se mi tato funkce zavola pri
> instalaci, nikoli pri odinstalaci. :-( Jakoby bug, mam verzi 4.2.7. Muzete
> to nekdo ozkouset? Diky
>
> [UninstallDelete]
> Name: {commonappdata}\{#AppName}; Type: dirifempty; Check:
> DeleteAppData({commonappdata}\{#AppName})
>
> [Code]
> function DeleteAppData(Path: string): boolean;
...cut...

Zustal jsem u trojkove verze InnoSetupu ale tohle je myslim stale
platne: cela sekce [Code] se pouziva pouze behem instalace, pri
odinstalaci se provadeji *pouze* "reverzni kroky" generovane behem
instalace a ulozene v souboru unins*.dat -- z toho vyplyva ze sekce typu
[UninstalDelete] se zpracovava pri instalaci a vlastne pouze umele
"rozsiruje" tyto kroky. Pripadna funkce definovana parametrem Check v
teto sekci se vyhodnoti a na zaklade jejiho vysledku se cela operace
smazani bud mezi reverzni kroky zaradi nebo nezaradi.

Martin Schayna

FireBird: Jak na UNIQUE

[*] Slavomir Skopalik <skopalik(zv)elektlabs(tec)cz> - 7.1.2005 00:24:25

Smaz mu vsechny textove editory z PC.
Dokud nepochopi, ze FB bez standartnich UDF je temer nepoizitelna DB,
tak ho nech editovat
pomoci prikazu TYPE a ECHO.
Proste vsechna matematika, prace se stringy a dalsi veci jsou pouze v
UDF.
FB 1.5 ma nastesti v SQL SUBSTRING.

Slavek

>
> BTW nemuzu donutit admina nainstalovat standardni UDF, ma
> nekdo napad jak ho donutit?

FireBird: Jak na UNIQUE

[*] Jakub Dusek <delphi(zv)corexpert(tec)com> - 7.1.2005 00:24:25

Staci vysvetlit 2 - 3 rozumne duvody pro povoleni UDF jeho sefovi :)

Jakub Dusek
----------------------------------------------------------------------
web: http://www.corexpert.com, mobile: +420 604 615 795, ICQ: 86063232
odesilani smsek, vizitek, log a melodii, snadna integrace do Vaseho IS
=> Sms GateKeeper, Sms GateKeeper Service

======================================================================
Thursday, January 6, 2005, 11:36:21 PM, you wrote:

JC> BTW nemuzu donutit admina nainstalovat standardni UDF, ma nekdo
JC> napad jak ho donutit?

FireBird: Jak na UNIQUE

[*] Jiri Cincura <diskuze(zv)cincura(tec)net> - 6.1.2005 23:36:21

Slavomir Skopalik wrote:
> Bez UDF jde do tuheho, takze dalsi dotaz:
> 1. Muzes pouzivat standartni UDF ?
> 2. Jak data jsou v tom stringu ?
> Jak moc je dlouhy obvykle ten string ?
> Max string je tusim 253 znaku (1byte), takze bych to udelal tak, ze

Tak jsem se na to vykaslal. Presvedcil jsem sebe a ostatni (hlavne), ze bude 252 (to je max. string, 3 jsou na ulozeni info).

No a na tom uz unique udelam.

Diky moc za pomoc, aspon jsem se zase neco noveho naucil.

BTW nemuzu donutit admina nainstalovat standardni UDF, ma nekdo napad jak ho donutit?

--
Jiri Cincura
http://www.cincura.net/
http://ID3renamer.cincura.net/
ICQ#: 314711544
http://photo.cincura.net/
http://phorum.cincura.net/
http://x2develop.com/

FireBird: Jak na UNIQUE

[*] Slavomir Skopalik <skopalik(zv)elektlabs(tec)cz> - 6.1.2005 23:22:19

Bez UDF jde do tuheho, takze dalsi dotaz:
1. Muzes pouzivat standartni UDF ?
2. Jak data jsou v tom stringu ?
Jak moc je dlouhy obvykle ten string ?
Max string je tusim 253 znaku (1byte), takze bych to udelal tak,
ze bych nedelal HASH/CRC, ale pouze substring v obvykle delce
(+ par znaku) a nad tim udelal obycejny index.
V tom triggru by melo byt neco jako
SELECT COUNT(*) FROM xxx WHERE cc=:cc AND aa=:aa INTO :cnt;
IF(cnt>0) THEN EXCEPTION ....

Ono reseni je vice, ale je to dost pracne.

Slavek

>
> Ja bohuzel UDF pouzit nemohu, takze mam 2 moznosti. Pockat na
> dalsi verzi nebo pres ten trigger. To jsem zkousel, ale nejde
> mi to mam nekde blbou chybu urcite. Mohl by si mi jednoduchy
> trigger na tohle poslat ja uz to delam asi 2h a nic. Nebo jen
> nejake nakopnuti, ja uz to sam nejak dodelam.

Runtime error 216 at xxxxxx

[*] Jan Naiser <tua(zv)wo(tec)cz> - 6.1.2005 23:00:18

Ahoj,

> Mam nasledujici problem. Pri pokusu o spusteni me aplikace na PC u klienta
> to pri spusteni hlasi "Runtime error 216 at xxxxxx" a okamzite skonci -
> hned na to se objevi takove to okno z WinXP, ze doslo k problemu a jestli
> ho chci odeslat Microsoftu. Jde o PC s WinXP Prof + SP2, na kterem bezi
> MySQL + dalsi aplikace (na tomto PC je P4 + 1GB RAM). Ma aplikace vyzaduje
> TCP/IP protokol + pouzivam komunikaci po COM-portu + FB.
> Nejsem schopen identifikovat cim to je - vysvetleni v HELPu je "access
> violation" :(
> Tak jsem mrknul na google a tam je spousta informaci, ze by mohlo jit o
> vir. Tak jsem prosel objevene symptomy, ktere potvrdi jeho pritomnost, ale
> nic jsem nenasel.
> Mam vyzkouseno, ze ma aplikace bezproblemu bezi na W95,98, WNT, W2k,
> WXP-Prof,Home. Kdyz jsme to u toho klienta nainstalovali na jiny PC, tak
> vse bezelo OK, nicmene na tom konkretnim PC se to rozjet nepodarilo.
> Nevite nekdo jak analyzovat o co slo a co se stalo? V aplikaci mam
> logovani chyb z JCL, ale ani tohle se nechytlo.
> Nesetkal jste se s tim nekdo? Nevite jak to odchytit? Pokud to nebylo PC a
> bylo-li to mou aplikaci, tak bych to rad nasel a odstranil.


mne to dela u aplikaci na P4 pri HT a pouziti knihovny JCL. Padne to na
deleni nulou pri kontrole frekvence procesoru. Pokud kritickou cast (funkci)
z kodu vyradim, jede to normalne. Pokud je to ono, zjistis tu cast pri
spusteni a odkrokovani na takovem stroji z IDE. Ladis-li na slabsim stroji,
pak se koukni na muj prispevek a odpovedi z 8.12.2004 (JCLSysInfo a rychly
CPU), kde je i ta cast kodu, ktera to zpusobuje.

Honza.

FireBird: Jak na UNIQUE

[*] Jiri Cincura <diskuze(zv)cincura(tec)net> - 6.1.2005 22:46:16

Slavomir Skopalik wrote:
> Koukni treba do synapse, nebo pouzij nejaky CRC32 :).
> Proste neco co udela se spousty znaku cislo, pokud mozno unikatni.

Vim o co jde. :) Jen jsem se bal tohohle. Myslel jsem, ze je treba ve FB nejaky "tajny" SQL prikaz co mi neco takoveho spocita.

Ja bohuzel UDF pouzit nemohu, takze mam 2 moznosti. Pockat na dalsi verzi nebo pres ten trigger. To jsem zkousel, ale nejde mi to
mam nekde blbou chybu urcite. Mohl by si mi jednoduchy trigger na tohle poslat ja uz to delam asi 2h a nic. Nebo jen nejake
nakopnuti, ja uz to sam nejak dodelam.

Diky moc!

--
Jiri Cincura
http://www.cincura.net/
http://ID3renamer.cincura.net/
ICQ#: 314711544
http://photo.cincura.net/
http://phorum.cincura.net/
http://x2develop.com/

FireBird: Jak na UNIQUE

[*] Slavomir Skopalik <skopalik(zv)elektlabs(tec)cz> - 6.1.2005 22:18:14

> ad 2> to me zajima, myslis, ze bys mohl poslat nejaky
> priklad, ci link, kde bych se mohl inpirovat, jak ten hash

Koukni treba do synapse, nebo pouzij nejaky CRC32 :).
Proste neco co udela se spousty znaku cislo, pokud mozno unikatni.
Tento sloupen si doplnis do tabulky a dal je to jasne.

Slavek


InnoSetup: potvrzeni smazani user dat

[*] Cizek Milan <cizek.milan(zv)seznam(tec)cz> - 6.1.2005 22:08:13

> Pak mam druhy dotaz, ktery souvisi. Chci, aby na konci
> odinstalace vyskocila uzivateli hlaska, jestli chce i tato
> data odstranit. To se mi nepovedlo, ani podle FAQ. Jedine co
> me napadlo je zapracovat parametr do aplikace a pred
> odinstalaci nejprve spustit... Ale to neni ono, opravdu bych
> chtel, aby se to ptalo az na konci. Diky

Ahoj,
tak jsem to zkousel vyresit pomoci vlastniho kodu, to by asi problem
nebyl... Funkce DeleteAppData by mela v pripade potvrzeni dotazu data sama
odstranit, vratit true, cim se nasledne provede delete celeho adresare. Tedy
pokud pravne chapu. Problem mam ovsem s tim, ze se mi tato funkce zavola pri
instalaci, nikoli pri odinstalaci. :-( Jakoby bug, mam verzi 4.2.7. Muzete
to nekdo ozkouset? Diky

[UninstallDelete]
Name: {commonappdata}\{#AppName}; Type: dirifempty; Check:
DeleteAppData({commonappdata}\{#AppName})

[Code]
function DeleteAppData(Path: string): boolean;
begin
if MsgBox('Prejete si ponechat nastaveni a uzivatelske
profily?',mbError,MB_YESNO)=IDNO then
begin
Result:=True;
DeleteFile(Path+'\*.*');
end
else
Result:=False;
end;

Milan

FireBird: Jak na UNIQUE

[*] Jiri Cincura <diskuze(zv)cincura(tec)net> - 6.1.2005 21:56:12

Slavomir Skopalik wrote:
> dve reseni:
> 1. Pockat si na novou verzi
> 2. Udelat si hash z tech stringu a pokud se bude shodovat hash, tak
> jeste porovnat retezce (v trigru)
> 3. V trigru bez indexu, ale bude to pomale, takze to nepovazuji za
> reseni.

Wow, to byle rychle. :)

ad 1> no to nejde (aspon ted ne)
ad 2> to me zajima, myslis, ze bys mohl poslat nejaky priklad, ci link, kde bych se mohl inpirovat, jak ten hash udelat a jak to
cele zmastit atp.
ad 3> kdyz ty ne, tak ja taky ne

--
Jiri Cincura
http://www.cincura.net/
http://ID3renamer.cincura.net/
ICQ#: 314711544
http://photo.cincura.net/
http://phorum.cincura.net/
http://x2develop.com/

FireBird: Jak na UNIQUE

[*] Slavomir Skopalik <skopalik(zv)elektlabs(tec)cz> - 6.1.2005 21:44:11

dve reseni:
1. Pockat si na novou verzi
2. Udelat si hash z tech stringu a pokud se bude shodovat hash, tak
jeste porovnat retezce (v trigru)
3. V trigru bez indexu, ale bude to pomale, takze to nepovazuji za
reseni.

Slavek

> Ahoj,
> mam maly problem s FireBirdem. Potrebuji pro jeden atribut
> entity udelat constraint unique. Problem je v tom, ze je to
> varchar(512) a to je moc "velke".
>
> Nevedel by nekdo, jak to vyresit?
>
> --
> Jiri Cincura
> http://www.cincura.net/
> http://ID3renamer.cincura.net/
> ICQ#: 314711544
> http://photo.cincura.net/
> http://phorum.cincura.net/
> http://x2develop.com/
>
>
>
>

FireBird: Jak na UNIQUE

[*] Jiri Cincura <diskuze(zv)cincura(tec)net> - 6.1.2005 21:34:10

Ahoj,
mam maly problem s FireBirdem. Potrebuji pro jeden atribut entity udelat constraint unique. Problem je v tom, ze je to
varchar(512) a to je moc "velke".

Nevedel by nekdo, jak to vyresit?

--
Jiri Cincura
http://www.cincura.net/
http://ID3renamer.cincura.net/
ICQ#: 314711544
http://photo.cincura.net/
http://phorum.cincura.net/
http://x2develop.com/

Preview

[*] Petr Berek <sojokl(zv)seznam(tec)cz> - 6.1.2005 20:46:04

Zdravim,
koukal jsem se, jak udelat nahled v delphi. Kdosi mi poradil komponentu
preview, ale tu jsem nikde nenasel. Pak jsem se dival na net a stahl
jsem si nejake soubory (zdrojaky), ale kdyz je chci kompilovat, tak me
to hlasi, ze nema knihovnu preview. Tak jsem se dival, ale knihovnu jsem
nikde nenasel. Muzete mi prosim pradit, kde se to da sehnat, nebo jak to
udelat jinak? Diky


Adonis a transakce

[*] Martin Pavera <martin.pavera(zv)cmail(tec)cz> - 6.1.2005 18:59:55

Hmmm.
Ptal jsem se proto, protoze zatim delam opravu master-detail nasledovne:
nactu data z master tabulky a detail tabulky do pameti (nejaka "MemTable").
Uzivatel v modalnim okne doklad upravuje a po kliknuti na tlacitko OK se
doklad ulozi. Nevyhoda: Nacitani dat do pameti a ukladani dat do databaze je
pomale. (Doklad ma treba 300 radku.)
Tak jsem chtel vyzkouset transakci, uzivatel bude data upravovat a na OK se
spusti Commit nebo na Storno se spusti Rollback. Ale ted me prekvapilo to
chovani tranakce, nejde to nejak sdilet ? Nebo musim nastavit vlastnost
trasakce na serveru?

Jak efektivne v aplikaci editovat data s velkym mnozstvim radku a az po
kliknuti na OK ulozit nebo na Storno opravene radky neulozit ?

Martin Pavera

| To je bohuzel normalni a souvisi to se strategii zamykani serveru.
| Pokud uzivatel provede insert je zamknuta tabulka, v pripade update
| je to slozitejsi a server se sam rozhodne co vsechno zamkne
| (tabulku, stranku, zaznam).
|
| Pokud pracujes pouze s jednou tabulku nepouzivej transakce,
| pokud jich mas vice (master-detail) musis je nejak dostat do
| bufferu a nastvit si mod dirty read.
| Muzes jeste zkusit batchupdates (+ dirty read + transkace pred
applyupdates).
|
| Pavel
|

Adonis a transakce

[*] Lstiburek Pavel <lstiburek(zv)ceb(tec)cz> - 6.1.2005 18:27:53

To je bohuzel normalni a souvisi to se strategii zamykani serveru.
Pokud uzivatel provede insert je zamknuta tabulka, v pripade update
je to slozitejsi a server se sam rozhodne co vsechno zamkne
(tabulku, stranku, zaznam).

Pokud pracujes pouze s jednou tabulku nepouzivej transakce,
pokud jich mas vice (master-detail) musis je nejak dostat do
bufferu a nastvit si mod dirty read.
Muzes jeste zkusit batchupdates (+ dirty read + transkace pred applyupdates).

Pavel


> From: Martin Pavera [mailto:martin.pavera(zv)cmail(tec)cz]
> pomoci komponent Adonis pristupuji k datum v MS SQL Server 2000.
> Pouzil jsem ADODatabase a ADOTable.
> K databazi "D" a k stejne tabulce "T" se pripoji 2 uzivatele.
> Oba uzivatele
> vidi grid a v nem data z tabulky "T".
> Uzivatel "A" zahaji transakci (STARTTRANSACTION) a pote bude
> provadet zmeny
> v tabulce "T". Mezitim uzivatel "B" bude chtit spustit prikaz
> REFRESH (nebo
> bude chtit tabulku "T" opravit...).
> A zde nastane problem. Uzivatel "B" je tak dlouho ztuhly
> (ceka) az uzivatel
> "A" provede COMMIT nebo ROLLBACK
> Co s tim ?
> Zajimave je, ze pote co uzivatel "A" provede StartTransaction a jeste
> nezacne modifikovat data z tabulky "A", muze uzivatel "B" bez problemu
> spustit Refresh a na nic nemusi cekat.
>
>
>

Adonis a transakce

[*] Martin Pavera <martin.pavera(zv)cmail(tec)cz> - 6.1.2005 18:21:52

Zdravim *,

pomoci komponent Adonis pristupuji k datum v MS SQL Server 2000.
Pouzil jsem ADODatabase a ADOTable.
K databazi "D" a k stejne tabulce "T" se pripoji 2 uzivatele. Oba uzivatele
vidi grid a v nem data z tabulky "T".
Uzivatel "A" zahaji transakci (STARTTRANSACTION) a pote bude provadet zmeny
v tabulce "T". Mezitim uzivatel "B" bude chtit spustit prikaz REFRESH (nebo
bude chtit tabulku "T" opravit...).
A zde nastane problem. Uzivatel "B" je tak dlouho ztuhly (ceka) az uzivatel
"A" provede COMMIT nebo ROLLBACK
Co s tim ?
Zajimave je, ze pote co uzivatel "A" provede StartTransaction a jeste
nezacne modifikovat data z tabulky "A", muze uzivatel "B" bez problemu
spustit Refresh a na nic nemusi cekat.

Zkousel jsem nastavovat TADODatabase.TransIsolation, ale bezvysledne...

Prosim o radu. Diky.
Martin Pavera


Runtime error 216 at xxxxxx

[*] Karel Rys <delphi(zv)zas-me(tec)cz> - 6.1.2005 17:57:50

Ing. Jiri Sokol dne 6 Jan 2005 v 17:27:

> Mam nasledujici problem. Pri pokusu o spusteni me aplikace na PC u
> klienta to pri spusteni hlasi "Runtime error 216 at xxxxxx" a okamzite
> skonci

Ahoj,

nepouzivas i BDE, nenastane problem pri jeho inicializaci? I kdyz to byvalo vetsinou Runtime Error
217...

Karel Rys

Problem s komponentou Pdf od Adobe

[*] Milos Jircik <m.jircik(zv)mjsoft(tec)cz> - 6.1.2005 17:45:49

Zdravim,

pouzil jsem komponentu Pdf od Adobe. Pomoci procedury LoadFile(const
fileName: WideString) jsem soubor zobrazil. Po pouziti procedury
LoadFile, ale komponenta prevzala focus. Kdyz jsem chtel focus priradit
jinemu controlu (ihned po LoadFile) tak ho pdf komponenta prevezme
zpatky na sebe. Az po nejake dobe (pravdepodobne po zobrazeni pdf
souboru - bezi v jinem threadu) je mozne focus presunout na jiny
control. Nevite nekdo co s tim?

Ukazka kodu:

PdfKomentar.LoadFile('008_PR_02_13_02.pdf');
dbContent.SetFocus;
-- tady by mel byt focus na dbContent, ale neni

Adonis a transakce

[*] Martin Pavera <martin.pavera(zv)cmail(tec)cz> - 6.1.2005 17:39:49

Zdravim *,

pomoci komponent Adonis pristupuji k datum v MS SQL Server 2000.
Pouzil jsem ADODatabase a ADOTable.
K databazi "D" a k stejne tabulce "T" se pripoji 2 uzivatele. Oba uzivatele
vidi grid a v nem data z tabulky "T".
Uzivatel "A" zahaji transakci (STARTTRANSACTION) a pote bude provadet zmeny
v tabulce "T". Mezitim uzivatel "B" bude chtit spustit prikaz REFRESH (nebo
bude chtit tabulku "T" opravit...).
A zde nastane problem. Uzivatel "B" je tak dlouho ztuhly (ceka) az uzivatel
"A" provede COMMIT nebo ROLLBACK
Co s tim ?
Zajimave je, ze pote co uzivatel "A" provede StartTransaction a jeste
nezacne modifikovat data z tabulky "A", muze uzivatel "B" bez problemu
spustit Refresh a na nic nemusi cekat.

Zkousel jsem nastavovat TADODatabase.TransIsolation, ale bezvysledne...

Prosim o radu. Diky.
Martin Pavera
D5prof + Adonis 4.4


Runtime error 216 at xxxxxx

[*] Ing. Jiri Sokol <js-delphi(zv)email(tec)cz> - 6.1.2005 17:27:48

Ahoj panove.
Mam nasledujici problem. Pri pokusu o spusteni me aplikace na PC u klienta to pri spusteni hlasi "Runtime error 216 at xxxxxx" a okamzite skonci - hned na to se objevi takove to okno z WinXP, ze doslo k problemu a jestli ho chci odeslat Microsoftu. Jde o PC s WinXP Prof + SP2, na kterem bezi MySQL + dalsi aplikace (na tomto PC je P4 + 1GB RAM). Ma aplikace vyzaduje TCP/IP protokol + pouzivam komunikaci po COM-portu + FB.
Nejsem schopen identifikovat cim to je - vysvetleni v HELPu je "access violation" :(
Tak jsem mrknul na google a tam je spousta informaci, ze by mohlo jit o vir. Tak jsem prosel objevene symptomy, ktere potvrdi jeho pritomnost, ale nic jsem nenasel.
Mam vyzkouseno, ze ma aplikace bezproblemu bezi na W95,98, WNT, W2k, WXP-Prof,Home. Kdyz jsme to u toho klienta nainstalovali na jiny PC, tak vse bezelo OK, nicmene na tom konkretnim PC se to rozjet nepodarilo.
Nevite nekdo jak analyzovat o co slo a co se stalo? V aplikaci mam logovani chyb z JCL, ale ani tohle se nechytlo.
Nesetkal jste se s tim nekdo? Nevite jak to odchytit? Pokud to nebylo PC a bylo-li to mou aplikaci, tak bych to rad nasel a odstranil.

Diky moc za Vase veskere napady.
Jirka
--------------------------------------------------
Ing. Jiri Sokol; jiri.sokol(zv)seznam(tec)cz; 972 231 187
D6Prof+SP3; WinXPProf+SP2; FB 1.5.1
programator amater

DBGrid + group

[*] Jaroslav Uher <jarek(zv)iuher(tec)cz> - 6.1.2005 17:01:44

> Ing. Petr Kejval napsal(a):
> > Ahoj,
> > nevite o nejakem free DBGridu, kde by slo podle stejnych hodnot
> > vybranych sloupcu seskupit radky a na klik je zase rozbalit i se
> > sloupci s odlisnymi hodnotami.

koukni se tady
http://www.scalabium.com
TSMDBGrid (je free i se zdroji)

ja jej pouzivam leta, ale grouping jsem zatim nikdy nepouzil,
viz web nebo demo

Jarek Uher

vyber vstupu pro nahravani TMediaPlayer do wav?

[*] Vaclav Sazima <vaclav.sazima(zv)utilia(tec)cz> - 6.1.2005 16:51:42

Ahoj,
ja jsem pouzil tohle:

Wave Audio Package v1.521

{http://www.delphiarea.com)

Vaclav Sazima

Zapletal Martin wrote:
> Mate nekdo nejaky prikladek jak pri nahravani vybrat vstup na vicevstupove
> zvukovce nebo jak toto resit pomoci mmSystem? V teto oblasti nejsem kovany
> tak prosim spise o priklady. Dik.
>
> Martin
>
>
>
>

DBGrid + group

[*] Karel Kral <kralkonf(zv)purus(tec)cz> - 6.1.2005 16:07:39

Znam pouze Devexpress, ktery toto a mnoho dalsiho umi ale je dist mastny.

Ing. Petr Kejval napsal(a):
> Ahoj,
> nevite o nejakem free DBGridu, kde by slo podle stejnych hodnot vybranych
> sloupcu seskupit radky a na klik je zase rozbalit i se sloupci s odlisnymi
> hodnotami.
>
> Petr
>
>
>
>
>
>
>

--
______________________________________________________
Karel Kral, vedouci odd. IT / IT manager
Purus, s.r.o., Cezavy 627, 664 56 Blucina, CZ
Tel: 547 235 000, 602 552 432, Fax: 547 231 203
E-Mail: mailto:kral(zv)purus(tec)cz, WWW: http://www.purus(tec)cz
______________________________________________________


Delphi 2005 - konverze starych projektu

[*] Lstiburek Pavel <lstiburek(zv)ceb(tec)cz> - 6.1.2005 14:21:32

Da se nejak poznat, ze byl aplikovan update ?
Ono chovani bylo pri instalaci update 1 docela zvlastni.

Pavel
> From: Petr Vones [mailto:konference(zv)petrvones.net]
> From: "Lstiburek Pavel" <lstiburek(zv)ceb(tec)cz>
> > S prostredim se, ale neda prakticky pracovat, neustale
> rekompilace pri kazde
> > zmene blokuji i klavesnici na minuty (no mozna jen desitky sec).
>
> V prve rade si nainstaluj Update 1, pokud uz tak nemas
> http://bdn.borland.com/article/0,1410,32875,00.html
>

DBGrid + group

[*] Ing. Petr Kejval <petr.kejval(zv)worldonline(tec)cz> - 6.1.2005 13:57:30

Ahoj,
nevite o nejakem free DBGridu, kde by slo podle stejnych hodnot vybranych
sloupcu seskupit radky a na klik je zase rozbalit i se sloupci s odlisnymi
hodnotami.

Petr


vyber vstupu pro nahravani TMediaPlayer do wav?

[*] Zapletal Martin <zapletal(zv)inoma(tec)cz> - 6.1.2005 13:29:28

Mate nekdo nejaky prikladek jak pri nahravani vybrat vstup na vicevstupove
zvukovce nebo jak toto resit pomoci mmSystem? V teto oblasti nejsem kovany
tak prosim spise o priklady. Dik.

Martin

Delphi 2005 - konverze starych projektu

[*] Petr Vones <konference(zv)petrvones(tec)net> - 6.1.2005 12:51:25

From: "Lstiburek Pavel" <lstiburek(zv)ceb(tec)cz>
> S prostredim se, ale neda prakticky pracovat, neustale rekompilace pri kazde
> zmene blokuji i klavesnici na minuty (no mozna jen desitky sec).

V prve rade si nainstaluj Update 1, pokud uz tak nemas
http://bdn.borland.com/article/0,1410,32875,00.html

Bohuzel i tak je tam stale plno chyb, ktere se mimo jine projevuji i pomerne
velkou narocnosti na pamet. Je dobre mit tak 1GB RAM aby to slo rozumne
pouzivat, coz uz dneska neni zase nic neobvykleho na vyvojarsky pocitac.

> Nevite nekdo jak poradit prostredi aby si natahlo potrebne reference ?

Neni z toho jasne jestli je problem v konverzi (vytvoreni projektoveho
souboru) ze starsi verze. V D2005 je jiz konecne odstranen problem, kde IDE
vlastne nema jednotny soubor s konfiguraci ale toto si vytvari parsovanim DPR
souboru a vyuzitim dalsich konfiguracnich souboru.

Petr Vones


Delphi 2005 - konverze starych projektu

[*] Lstiburek Pavel <lstiburek(zv)ceb(tec)cz> - 6.1.2005 12:11:22

Ahoj,
pokousim se pracovat v D2005, v novych projektech celkem bez problemu (+/-).
Pri otevreni projektu z D5 ohlasi prostredi cca milion chyb, neznamy identifikator
neznama reference, ... a ty nezmizi ani po kompilaci (podotykam uspesne).

S prostredim se, ale neda prakticky pracovat, neustale rekompilace pri kazde zmene
blokuji i klavesnici na minuty (no mozna jen desitky sec).

Nevite nekdo jak poradit prostredi aby si natahlo potrebne reference ?
Pri novem vytvoreni projektu, nakopirovani komponent na formular a brutalni prepsani
kodu to pracuje OK.

Pavel

Nastaveni projektu ... DSK

[*] mydelphiconf(zv)centrum(tec)cz - 6.1.2005 11:21:18

Mam X ruznych unit, ktere v projektu pouzivam. V momente, kdy otevru *.dpr, otevre se mi jen hlavni unita, ale uz ne ty dalsi unity, ktere mam v uses nalinkovane. Rad bych, aby se mi otevrely i ty ostatni soubory ... nekdo to resil DSK souborem. Muzete mi poradit, jak ho v Delphi muzu vytvorit?
DIky za odpoved.

P.
D7, WinXP
zacatecnik-amater

Opakovany focus

[*] Hash <parizsky(zv)gmail(tec)com> - 6.1.2005 08:37:04

Tady je reseni:

Hlavni formular implemetuje moji message UM_SETFOCUS ve ktere je pouze
Edit1.SetFocus;
Child formulare na OnClose provede PostMessage(Hlavni.Handle,
UM_SETFOCUS, 0, 0);

Thx to Jarda Blazek a Petr Vones.

S pozdravem
Ladap


On Wed, 5 Jan 2005 16:28:06 +0100, Hash <parizsky(zv)gmail.com> wrote:
> Zdravim konferu,
> mam hlavni formular kde je naky edit a nekolik tlacitek. Kazde
> tlacitko otevira jinej child formular . Potreboval bych, aby po
> zavreni child formulare mel focus ten edit na hlavnim formulari. Jak
> na to ?
>
> dik
> Ladap
>

Opakovany focus

[*] Hash <parizsky(zv)gmail(tec)com> - 6.1.2005 07:22:59

Ahoj,
pri zavreni toho formulare je pad ze nemuzesh focusit neviditelnou
nebo disablovanou polozku...stejne jako v OnActivated nebo OnShow toho
hlavniho..

Ladap


On Wed, 5 Jan 2005 17:05:53 +0100, Kalhous <kalhous(zv)eu(tec)cz> wrote:
> S fokusama a child formularema jsou porad nejake problemy. Neslo by tohle
> udelat treba tak, ze ten TEdit bys treba predal tomu child formulari, zbsp
> do nejake public, a child by se pak sam postaral aby pri zavreni zkusil na
> nej udelat
> set focus?
> > mam hlavni formular kde je naky edit a nekolik tlacitek. Kazde
> > tlacitko otevira jinej child formular . Potreboval bych, aby po
> > zavreni child formulare mel focus ten edit na hlavnim formulari. Jak
> > na to ?
>
>

Opakovany focus

[*] Tumova Bohumila <btumova(zv)tiscali(tec)cz> - 6.1.2005 02:20:38

>>Zdravim konferu,
mam hlavni formular kde je naky edit a nekolik tlacitek. Kazde
tlacitko otevira jinej child formular . Potreboval bych, aby po
zavreni child formulare mel focus ten edit na hlavnim formulari. Jak
na to ?

dik
Ladap<<

Procedura HlavniFormular.ButtonNaOtevreniFormulareClick obsahuje prikaz na
otevreni formulare, za nim musi nasledovat EditNaKterySeChciZamerit.Focus.
Teprve po zavreni formulare, jenz je po kliku na tlacitko otviran, se
dokoncuje procedura HlavniFormular.ButtonNaOtevreniFormulareClick.
Posli mi info, zda to funguje. S Delphi se teprve seznamuji a proto me
zajima, zda je ma predstava spravna.

Diky Myvalice, myvalice(zv)tiscali(tec)cz.

Uzivatel

[*] Pavel ! <paullb(zv)seznam(tec)cz> - 5.1.2005 21:38:19

Jenom jsem tak premyslel, mam TV kartu a k tomu jsem vyfasoval dalkovy
ovladac. Protoze je skoda, aby byl ovladac vyuzivan pouze v tom pitomim
software. Tak me napsalo, co takhle nejake "rozsireni" problem, je ze
prijmac tohoto ovl. Je zapojen do jakeho si "neznameho" konektoru na TV
Toneru. Nejprve, bych chtel postavit nejakej scanner tohoto portu a
podle stavu pridelovat jednotliva tlacitka. Nemate nekdo s timto nejake
zkusenosti ??

Pavel Samek


Uzivatel

[*] Jiri Cincura <diskuze(zv)cincura(tec)net> - 5.1.2005 19:58:06

Petr Berek wrote:
> definovat v uses, nebo co s tim

ShlObj

--
Jiri Cincura
http://www.cincura.net/
http://ID3renamer.cincura.net/
ICQ#: 314711544
http://photo.cincura.net/
http://phorum.cincura.net/
http://x2develop.com/

Uzivatel

[*] Petr Berek <sojokl(zv)seznam(tec)cz> - 5.1.2005 19:50:05

Delam v trosku nizsi verzi, a pri kompilaci me to vyhodi chybu ze nevi co je PItemIdList
Jestli me to muzete objasnit, jestli se to musi definovat v uses, nebo co s tim
Dik Petr

Jiri Cincura napsal(a):

>>No ale na dporuceni Petra V. jsem tam dal stejne to CSIDL_APPDATA.
>>
>>
>
>No a kdyby to nekdo chtel tak (snad je to OK):
>
>var
> lpItemId: PItemIdList;
> buffer: array [0..MAX_PATH] of AnsiChar;
>begin
> Result := ExtractFileDir(ExtractFileDir(Application.ExeName));
> if SHGetSpecialFolderLocation(hInstance, CSIDL_APPDATA, lpItemId) = NOERROR then
> if SHGetPathFromIDList(lpItemId,buffer) then
> begin
> Result := buffer
> end;
>end;
>
>

InnoSetup: potvrzeni smazani user dat

[*] Jiri Cincura <diskuze(zv)cincura(tec)net> - 5.1.2005 18:05:58

Cizek Milan wrote:
> Pak asi zalezi abyste to odinstalovaval pod stejnym uctem pod jakym jste
> to nainstaloval. :-)

No me slo prave o to, kdyz to bude odinstalovavat root, aby se to zeptalo, kdyztak to smazalo od vsech uzivatelu.

Ale to asi chci moc. :(

--
Jiri Cincura
http://www.cincura.net/
http://ID3renamer.cincura.net/
ICQ#: 314711544
http://photo.cincura.net/
http://phorum.cincura.net/
http://x2develop.com/

InnoSetup: potvrzeni smazani user dat

[*] Cizek Milan <cizek.milan(zv)seznam(tec)cz> - 5.1.2005 17:57:58

> Cizek Milan wrote:
> > Pak mam druhy dotaz, ktery souvisi. Chci, aby na konci odinstalace
> > vyskocila uzivateli hlaska, jestli chce i tato data
> odstranit. To se
> > mi nepovedlo, ani podle FAQ. Jedine co me napadlo je zapracovat
> > parametr do aplikace a pred odinstalaci nejprve spustit...
> Ale to neni ono, opravdu
> > bych chtel, aby se to ptalo az na konci. Diky > Jo tak to by me taky zajimalo. Me se to nepodarilo ani najit,
> natoz vyresit.

No ja schvalne zvolil ty common, coz jde do All Users, tedy by to melo byt
dostupne v kazdem profilu, to je pro me dulezite.

> Kdyz ja mam jeste problem s tim, ze pokud app. spusti "nejaky
> user" tak se to zapise k nemu do "Data aplikaci\AppName" a to
> by to ten instalator musel cele projit. Ale treba to jde.

Pak asi zalezi abyste to odinstalovaval pod stejnym uctem pod jakym jste to
nainstaloval. :-)

Spis mi slo primarne o ten confirm dialog, jestli to lze nejak jinak nez
pres vlastni [code]. A pokud ne, tak jestli to uz nekdo nema, ja se v praci
se switchovanim tech zalozek vzdycky priserne zamotam. :((

Milan

InnoSetup: potvrzeni smazani user dat

[*] Jiri Cincura <diskuze(zv)cincura(tec)net> - 5.1.2005 17:51:57

Cizek Milan wrote:
> Pak mam druhy dotaz, ktery souvisi. Chci, aby na konci odinstalace
> vyskocila uzivateli hlaska, jestli chce i tato data odstranit. To se mi
> nepovedlo, ani podle FAQ. Jedine co me napadlo je zapracovat parametr do
> aplikace a pred odinstalaci nejprve spustit... Ale to neni ono, opravdu
> bych chtel, aby se to ptalo az na konci. Diky

Jo tak to by me taky zajimalo. Me se to nepodarilo ani najit, natoz vyresit.

Kdyz ja mam jeste problem s tim, ze pokud app. spusti "nejaky user" tak se to zapise k nemu do "Data aplikaci\AppName" a to by to
ten instalator musel cele projit. Ale treba to jde.

Rad se necham poucit.

--
Jiri Cincura
http://www.cincura.net/
http://ID3renamer.cincura.net/
ICQ#: 314711544
http://photo.cincura.net/
http://phorum.cincura.net/
http://x2develop.com/

InnoSetup: potvrzeni smazani user dat

[*] Cizek Milan <cizek.milan(zv)seznam(tec)cz> - 5.1.2005 17:13:54

Ahoj,
potreboval bych poradit. Kdysi se tu vedla rozsahla diskuze kam spravne
ukladat uzivatelska data, aby nebyl problem s pravy na NT systemech. V inno
jsem pouzil {commonappdata}\{#AppName}, ale nejsem si jist, protoze tech
common slozek je tam nekolik (treba local...).

Pak mam druhy dotaz, ktery souvisi. Chci, aby na konci odinstalace vyskocila
uzivateli hlaska, jestli chce i tato data odstranit. To se mi nepovedlo, ani
podle FAQ. Jedine co me napadlo je zapracovat parametr do aplikace a pred
odinstalaci nejprve spustit... Ale to neni ono, opravdu bych chtel, aby se
to ptalo az na konci. Diky

S pozdravem Milan Cizek, amatersky programator, D7 Ent
Win2k (SP4) a WinXP, cizek.milan(zv)seznam(tec)cz, ICQ: 59826637

Opakovany focus

[*] Kalhous <kalhous(zv)eu(tec)cz> - 5.1.2005 17:05:53

S fokusama a child formularema jsou porad nejake problemy. Neslo by tohle
udelat treba tak, ze ten TEdit bys treba predal tomu child formulari, zbsp
do nejake public, a child by se pak sam postaral aby pri zavreni zkusil na
nej udelat
set focus?
> mam hlavni formular kde je naky edit a nekolik tlacitek. Kazde
> tlacitko otevira jinej child formular . Potreboval bych, aby po
> zavreni child formulare mel focus ten edit na hlavnim formulari. Jak
> na to ?

Nacteni a ulozeni obsahu ListView do souboru

[*] Petr Cafourek <petr.cafourek.d7(zv)seznam(tec)cz> - 5.1.2005 16:57:52

Zdravim vsechny,
nevi nekdo nahodou, jak ulozit a potom zase nacist obsah LisView do
souboru? Hledal jsem to na internetu, ale nic jsem nenasel. Jde to
vubec?

S pozdravem,
Petr Cafourek

petr.cafourek.d7(zv)seznam(tec)cz

D6 Pro, WinXP CZ SP


Opakovany focus

[*] Hash <parizsky(zv)gmail(tec)com> - 5.1.2005 16:29:50

Zdravim konferu,
mam hlavni formular kde je naky edit a nekolik tlacitek. Kazde
tlacitko otevira jinej child formular . Potreboval bych, aby po
zavreni child formulare mel focus ten edit na hlavnim formulari. Jak
na to ?

dik
Ladap

Spusteni jine aplikace v pozadi

[*] konference(zv)sales(tec)cz - 5.1.2005 16:23:49

On Behalf Of Lebeda David
>
.....
> Ma to tedy vypadat tak, ze hlavni aplikace A spusti volanou
> aplikaci B,
> cehoz si uzivatel temer nemusi vsimnout, aplikace A pak ukaze
> ShowMessage, ze se nyni ukonci a misto ni ze ma uzivatel pracovat s
> aplikaci B. V dobe, kdy v aplikaci A sviti ten ShowMessage,
> aplikace B
> ceka na ukonceni aplikace A a behem teto doby aplikace B zobrazuje
> hlaseni "Cekam...". Toto hlaseni ale ma byt zakryto aplikaci
> A. Neboli
> potrebuji, aby i po spusteni aplikace A zustala aplikace A normalne
> aktivni a veskera okna aplikace B nevyskakovala nad okna aplikace A.
>

Ahoj
Co treba zkusit tak ze
1) spustis B a parametrem handle okna aplikace A
2) B po spusteni zobrazi Cekam.. nastavi SetForegroundWindow podle predaneho
handle
3) B posle A msg ze uz je pripravena a na jejim zaklade vyvola A svuj
ukoncovaci dialog
4) po odkliknuti A posle B msg ze je ukoncena a B se rozbehne


Ludek

Spusteni jine aplikace v pozadi

[*] Lebeda David <david.lebeda(zv)comarr(tec)cz> - 5.1.2005 15:09:44

Ahoj,

nejak jsem se zasekl na tomto problemu. Mam aplikaci A, ktera na
vyzadani spusti jinou (moji) aplikaci B a aplikace A sama sebe ukonci.
Predtim, nez se ukonci, jeste zobrazi ShowMessage, ze aplikace bude
skoncena. Ta spoustena aplikace B nejprve pocka, az volajici aplikace
A opravdu skonci a pak teprve zacne normalne fungovat. Po dobu
cekani na ukonceni volajici aplikace zobrazuje hlaseni "Cekam na
ukonceni volajici aplikace".

Ma to tedy vypadat tak, ze hlavni aplikace A spusti volanou aplikaci B,
cehoz si uzivatel temer nemusi vsimnout, aplikace A pak ukaze
ShowMessage, ze se nyni ukonci a misto ni ze ma uzivatel pracovat s
aplikaci B. V dobe, kdy v aplikaci A sviti ten ShowMessage, aplikace B
ceka na ukonceni aplikace A a behem teto doby aplikace B zobrazuje
hlaseni "Cekam...". Toto hlaseni ale ma byt zakryto aplikaci A. Neboli
potrebuji, aby i po spusteni aplikace A zustala aplikace A normalne
aktivni a veskera okna aplikace B nevyskakovala nad okna aplikace A.

Jenze at delam, co delam, hlaseni "Cekam..." z aplikace B vzdy vyskoci
nahoru nad modalni okno aplikace A. Aplikaci B spoustim pomoci
ShellExecute. Posledni jeji parametr jsem zkousel dat SHOWNA i
SHOWNOACTIVATE, ale nema to zadny vliv. Nevite nekdo, jak
dosahnout kyzeneho stavu?

Diky

David Lebeda

Dva Panely a Align

[*] Petr Vetesnik <vetesnik(zv)gmail(tec)com> - 5.1.2005 15:01:43

Ahoj
Udelat panely tri.
Panel1 align alLeft, visible := true
PanelX align alClient, visible := true
Panel2 vlastnik PanelX, align alTop
wetty

Petr Cafourek napsal(a):
>Na formu mam dva panely, z nichz Panel1 je
> visible true a align alLeft, Panel2 je visible false a pri
> zviditelneni bych mu potreboval dat align alTop, ale tak, aby se
> Panel1 neposunul dolu.

Dva Panely a Align

[*] martin.sztemon(zv)logikon(tec)cz - 5.1.2005 14:27:41

Jestli jsem Te dobre pochopil, tak pravdepodobne budes muset pridat vedle
panelu alLeft jeste jeden panel (alClient) a na nej potom vrazit ten
panel, ktery si nastavis alTop


-----Original Message-----
Behalf Of Petr Cafourek
Subject: Dva Panely a Align

>Zdravim vsechny,
> mam takovy maly problem. Na formu mam dva panely, z nichz Panel1 je
>visible true a align alLeft, Panel2 je visible false a pri zviditelneni
>bych mu potreboval dat align alTop, ale tak, aby se
>Panel1 neposunul dolu.
> Nevedel by nekdo, jak na to?

Spusteni programu ze sluzby

[*] koukal(zv)petrkoukal(tec)cz - 5.1.2005 14:07:39


Dobry den.

Pokud program spustim ze sluzby - spusti se rovnez jako sliuzba na pozadi.
Pokud program spustim z testovacoho .exe souboru s vizualnim rozharanim (z formu) spusti se na popredi.
Jeho okno prevezme napr kus desktopu (okno nereaguje na wm_show, wm_painrt atd) - napr misto programu calc.exe je zobrazen jeho ram s nahodilym obsahem (kus desktopu apod..) - obsah okna se neobnovi a ni po minimalizaci a nasledenm otevreni. Nepracuji udalosti, okno lze pouze minimalizovat a lze ukoncit chod tohoto programu.

Zdrojovy kod :

Va
S : String;
I : Integer;
Htoken : Thandle;
lpszUsernAme : String;
lpszDomain : String;
lpszPAssword : String;

si : startupinfo;
pi : process_information;

dwThreadId : DWORD;

hdeskSave : HDESK;

hwinstaSave : HWINSTA;
ihwinsta : HWINSTA;
ihdesk : HDESK;

fromservice : boolean;

nIndex : Integer;
pvInfo : PUSEROBJECTFLAGS;
nLength : DWORD;
lpnLengthNeeded : DWORD ;

Begin {Vramci TService}

{User logon}
lpszUsernAme := '...'
lpszDomain := '.';
lpszPAssword := ..'; If Not LogonUser (Pchar(lpszUsernAme),
Pchar(lpszDomain),
Pchar (lpszPAssword),
LOGON32_LOGON_INTERACTIVE,
LOGON32_PROVIDER_DEFAULT,
htoken )Then
Exit
Else

// toto funguje - chovani programu je stejne bez ohledu na jmeno
// prava skupiny pro kterou to zkosim :
// SeTcbPrivilege - "jednat jako cast operacniho systemu"
// SeAssignPrimaryTokenPrivilege - "nahradit token urovne procesu"
// "Vytvorit objekt tokenu"
Begin

{Save}
GetDesktopWindow();
hwinstaSave := GetProcessWindowStation;

dwThreadId := GetCurrentThreadId();
hdeskSave := GetThreadDesktop(dwThreadId);

{Window}
ihwinsta := OpenWindowStation(Pchar('Winsta0'),
false,
GENERIC_ALL); Getmem (pvinfo,Sizeof(USEROBJECTFLAGS));
If not GetUserObjectInformation(ihwinsta,
UOI_FLAGS,
pvInfo,
Sizeof(USEROBJECTFLAGS),
lpnLengthNeeded) Then
Begin
I := GetLastError;
Str (I:5,S);
Freemem (pvinfo,Sizeof(USEROBJECTFLAGS));
Exit;

End;

If not pvinfo^.dwFlags = WSF_VISIBLE then
Begin
Freemem (pvinfo,Sizeof(USEROBJECTFLAGS));
Exit;
End;

Freemem (pvinfo,Sizeof(USEROBJECTFLAGS));

SetprocessWindowStation(ihwinsta);

{Desktop}

ihdesk := OpenDesktop (Pchar('default'),
0,
false,
GENERIC_ALL);

ihdesk := CreateDesktop(Pchar('pokus'),
Nil,
Nil,
DF_ALLOWOTHERACCOUNTHOOK,
WRITE_OWNER,
Nil);

// overoval jsem ruzne kombinace destopu a winsta - jedine tato kombinace zde uvedena je funkcni
// dojde alespon k nejakemu zobrazeni okna
//Zzkousel jsem vsechny mozne varinaty peo vytvoreni desktopu a winsta - zmena konstant GENERIC_ALL WRITE_OWNER ....
// Okno aplikace se zobrazi spatne nebo vubec. SetThreadDesktop(ihdesk);

si.cb := Sizeof (startupinfo);
si.lpReserved := nil;
si.lpDesktop := Pchar('Winsta0\default');
si.lpTitle := Nil;

si.cbReserved2 := 0;
si.lpReserved2 := Nil;
si.dwFlags := STARTF_USESHOWWINDOW;
si.wShowWindow := SW_SHOWNORMAL or SW_SHOWDEFAULT ; // rozun\mim li dobre napovede windows - tyto parametry by mneli zajistit zobrazeni apokna a zajistit reakci aplikace na zpravy
// windows.
// Zkusil jse mruzne kombinace konstantt SW_ ... - chovani programu se nezmenilo

If not CreateProcessAsUser (htoken, // user}
Pchar(Path), //file to xecute
Nil, //command line
Nil, // main security default
Nil, // theard security default
False, // inherited
NORMAL_PRIORITY_CLASS or CREATE_DEFAULT_ERROR_MODE, // creation flags

// Zkusil jse mruzne kombinace konstantt NORMAL_PRIORITY_CLASS ..... - chovani programu se nezmenilo

Nil, //enviroment block
Nil, // current directory
si, // STARTUPINFO
pi) Then // process info

// start procesu probehne Getlasterror = 0 ale program jede bud na pozadi nebo s nefungujicimi udalostmi.
// nereaguje na vetsinu sprav windows.

Begin
I := GetLastError;
Str (I:5,S);
Exit;
End;
I := GetLastError;
Str (I:5,S);
Result :=true;
end;
End;

Finally
If FromService Then
Begin
Closehandle (htoken);

SetThreadDesktop(hdeskSave);

SetProcessWindowStation(hwinstaSave);
CloseDesktop(ihdesk);

CloseWindowStation(ihwinsta);

End;
End;

V cem je problem ? -Co je zde spatne?

Diky za kazdou radu.

Petr Koukal

Dva Panely a Align

[*] Petr Cafourek <petr.cafourek.d7(zv)seznam(tec)cz> - 5.1.2005 14:05:38

Zdravim vsechny,
mam takovy maly problem. Na formu mam dva panely, z nichz Panel1 je
visible true a align alLeft, Panel2 je visible false a pri
zviditelneni bych mu potreboval dat align alTop, ale tak, aby se
Panel1 neposunul dolu.
Nevedel by nekdo, jak na to?

S pozdravem,
Petr Cafourek

petr.cafourek.d7(zv)seznam(tec)cz

D6 Pro, WinXP CZ SP


Midas (DataSnap) Application server jako Sluzba

[*] Jaromir Cermak <cermak(zv)procom(tec)cz> - 5.1.2005 09:47:21

Staci spustit jako sluzbu socketserver a ten uz si spousti aplikacni servery. Jenom musis dat pozor na pristupy k datum a souborum na disku a na siti. Pristupy, prihlasovani, ap. se ridi pravy uzivatele, pod kterym bezi sluzba socketserver.
Jaromir Cermak


-----Original Message-----
From: Martin Machacek - Geovap [mailto:martin.machacek(zv)geovap(tec)cz]

Dobry den,

prosim Vas nema nekdo zkusenost s vytvorenim Midas (DataSnap) aplikacniho serveru
ktery bude spusten jako Windows Service. S pripojenim klientu nejlepe pres TSocketConnection.

Velice bych uvital priklad reseni nebo alespon dokumentaci k tomuto problemu, pripadne navrh
jineho reseni, ktere by takto fungovalo (pripojeni pres webove rozhrani neni mozne).

Uzivatel

[*] Jiri Cincura <diskuze(zv)cincura(tec)net> - 5.1.2005 00:10:38

Jiri Cincura wrote:
> Jakub Dusek wrote:
>> Nevrati, ven se zpropaguje vyjimka. Jak tu psal mj. Petr.
>
> Jo tak to jsem nevedel. :) A to v Delhpi delam 8 let. Asi jsem to jeste
> nikdy nepotreboval, nebo to nekde je, ale plne chyb. :(

Tak ted jsem prosel par svych zdrojaku a zjistil, jsem, ze o teto "funkcnosti" vim, delal jsem to naprosto podvedome. Nevim co me to
napadalo, kdyz jsem psal tu funkci, ze jsem to tam takhle zmastil.

No ale na dporuceni Petra V. jsem tam dal stejne to CSIDL_APPDATA.

--
Jiri Cincura
http://www.cincura.net/
http://ID3renamer.cincura.net/
ICQ#: 314711544
http://photo.cincura.net/
http://phorum.cincura.net/
http://x2develop.com/

Midas (DataSnap) Application server jako Sluzba

[*] Martin Machacek - Geovap <martin.machacek(zv)geovap(tec)cz> - 5.1.2005 09:31:19

Dobry den,

prosim Vas nema nekdo zkusenost s vytvorenim Midas (DataSnap) aplikacniho serveru
ktery bude spusten jako Windows Service. S pripojenim klientu nejlepe pres TSocketConnection.

Velice bych uvital priklad reseni nebo alespon dokumentaci k tomuto problemu, pripadne navrh
jineho reseni, ktere by takto fungovalo (pripojeni pres webove rozhrani neni mozne).

Velice dekuji za odpoved.

Martin Machacek
E - Mail: martin.machacek(zv)geovap(tec)cz



Martin Machacek
------------------------------------------------------------------
GEOVAP, spol. s r.o.
Cechovo nabrezi 1790, 530 03 Pardubice
tel.: 466 024 617
fax: 466 657 314
mobil: 606 680 222
email: martin.machacek(zv)geovap(tec)cz

http://www.reliance(tec)cz

------------------------------------------------------------------

OT: Vypis z memproof

[*] L?ikola Petr <developer(zv)efg(tec)cz> - 5.1.2005 09:27:19

predem se omlouvam za OT, ale mozna to bude zajimat i vice lidi.

Z MemProofu mam tento vypis, ktery se v obdobne podobe opakuje asi milionkrat...

nejak tomu nerozumim, koukal jsem do system.pas a tam je ne zminenem radku kus assembleru, kde se vola SysAllocStringLen.

kod ktery je "posledni" muj (thready.pas) provadi Open na adoquery a potom zase prokazatelne close, na tom neshledavam nic co by bylo spatne.

Jak z vyse uvedeneho kodu zjistim kde je onen leak ?

diky
Petr Sikola, D5, SP2, WXP


3109086 SysString 0A541EAC 15 SysAllocStringLen(ISAUTOINCREMENT,15)
004065F1 VarFromWStr in system.pas (9102) c:\aplikace.exe
007AFB0C TCustomADODataSet::InternalInitFieldDefs in adodb.pas (3630) c:\aplikace.exe
004E4AFD TDataSet::InitFieldDefs in DB.pas (8350) c:\aplikace.exe
004D77F1 TDefCollection::UpdateDefs in DB.pas (2606) c:\aplikace..exe
004D83EB TFieldDefs::Update in DB.pas (2945) c:\aplikace.exe
007AF24C TCustomADODataSet::InternalOpen in adodb.pas (3472) c:\aplikace.exe
004E48FB TDataSet::DoInternalOpen in DB.pas (8260) c:\aplikace.exe
004E49CA TDataSet::OpenCursor in DB.pas (8289) c:\aplikace.exe
007AF1AA TCustomADODataSet::OpenCursor in adodb.pas (3463) c:\aplikace.exe
004E4866 TDataSet::SetActive in DB.pas (8242) c:\aplikace.exe
004E46C7 TDataSet::Open in DB.pas (8203) c:\aplikace.exe
008E4AFB TthrDB::DAOCykl in thready.pas (2273) c:\aplikace.exe
008E4298 TthrDB::DoCritical in thready.pas (2167) c:\aplikace.exe
008E3C4B TthrDB::Execute in thready.pas (2067) c:\aplikace.exe
00421B2E ThreadProc in Classes.pas (7370) c:\aplikace.exe
00404ADD ThreadWrapper in system.pas (5603) c:\aplikace.exe
77E7D336 RegisterWaitForInputIdle C:\WINDOWS\system32\kernel32.dll


Prevod TApplicaton na TService

[*] Jiri Baudys <konference(zv)baudys.name> - 5.1.2005 08:45:14

DD,
dovolim si Vas pozadat o radu(y), ceho se vyvarovat a vubec jak postupovat
pri prevodu Application na Service.

Diky

jirka

Jak nahravat pomoci MediaPlayer z vicevstupove zvu

[*] Zapletal Martin <zapletal(zv)inoma(tec)cz> - 5.1.2005 07:47:09

Mate nekdo nejaky prikladek jak pri nahravani vybrat vstup na vicevstupove
zvukovce nebo jak toto resit pomoci mmSystem? V teto oblasti nejsem kovany
tak prosim spise o priklady. Dik.

Zapletal Martin

Uzivatel

[*] Jiri Cincura <diskuze(zv)cincura(tec)net> - 5.1.2005 00:38:40

> No ale na dporuceni Petra V. jsem tam dal stejne to CSIDL_APPDATA.

No a kdyby to nekdo chtel tak (snad je to OK):

var
lpItemId: PItemIdList;
buffer: array [0..MAX_PATH] of AnsiChar;
begin
Result := ExtractFileDir(ExtractFileDir(Application.ExeName));
if SHGetSpecialFolderLocation(hInstance, CSIDL_APPDATA, lpItemId) = NOERROR then
if SHGetPathFromIDList(lpItemId,buffer) then
begin
Result := buffer
end;
end;

--
Jiri Cincura
http://www.cincura.net/
http://ID3renamer.cincura.net/
ICQ#: 314711544
http://photo.cincura.net/
http://phorum.cincura.net/
http://x2develop.com/

Uzivatel

[*] Petr Vones <konference(zv)petrvones(tec)net> - 4.1.2005 23:30:35

From: "Jiri Cincura" <diskuze(zv)cincura.net>
> Hlavne ze to funguje, ne?

To je prave vicemene nepodstatne.

Petr Vones

Uzivatel

[*] Jiri Cincura <diskuze(zv)cincura(tec)net> - 4.1.2005 23:24:34

Petr Vones wrote:
> podivej napriklad na funkci RegReadStringDef z JCL. Nekdy neni nutne veci
> zase az tak komplikovat.

Hlavne ze to funguje, ne?

--
Jiri Cincura
http://www.cincura.net/
http://ID3renamer.cincura.net/
ICQ#: 314711544
http://photo.cincura.net/
http://phorum.cincura.net/
http://x2develop.com/

Uzivatel

[*] Petr Vones <konference(zv)petrvones(tec)net> - 4.1.2005 23:16:34

From: "Jiri Cincura" <diskuze(zv)cincura.net>
> A co tohle?

Pomineme ted ze tento zpusob ziskani daneho adresare je nespravny, tak se
podivej napriklad na funkci RegReadStringDef z JCL. Nekdy neni nutne veci
zase az tak komplikovat.

Petr Vones

Uzivatel

[*] Jiri Cincura <diskuze(zv)cincura(tec)net> - 4.1.2005 23:10:33

Jakub Dusek wrote:
> Nevrati, ven se zpropaguje vyjimka. Jak tu psal mj. Petr.

Jo tak to jsem nevedel. :) A to v Delhpi delam 8 let. Asi jsem to jeste nikdy nepotreboval, nebo to nekde je, ale plne chyb. :(

A co tohle?

with TRegistry.Create do
try try
RootKey := HKEY_CURRENT_USER;
//OpenKeyReadOnly('\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders');
raise Exception.Create('Jak se mas');
Result := ReadString('AppData');
except
Result := ExtractFileDir(ExtractFileDir(Application.ExeName)); //v nouzi k aplikaci
end;
finally
CloseKey;
Free;
end;

--
Jiri Cincura
http://www.cincura.net/
http://ID3renamer.cincura.net/
ICQ#: 314711544
http://photo.cincura.net/
http://phorum.cincura.net/
http://x2develop.com/

Uzivatel

[*] Jakub Dusek <delphi(zv)corexpert(tec)com> - 4.1.2005 22:54:32

... viz. napriklad:

function GetAppDataDir: String;
begin
Result := ExtractFileDir(ExtractFileDir(Application.ExeName)); //v nouzi k aplikaci
with TRegistry.Create do
try
RootKey := HKEY_CURRENT_USER;
//OpenKeyReadOnly('\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders');
raise Exception.Create('');
Result := ReadString('AppData');
finally
CloseKey;
Free;
end;
end;

Jakub Dusek
----------------------------------------------------------------------
web: http://www.corexpert.com, mobile: +420 604 615 795, ICQ: 86063232
odesilani smsek, vizitek, log a melodii, snadna integrace do Vaseho IS
=> Sms GateKeeper, Sms GateKeeper Service

======================================================================
Tuesday, January 4, 2005, 10:46:31 PM, you wrote:

JD> Nevrati, ven se zpropaguje vyjimka. Jak tu psal mj. Petr.

Uzivatel

[*] Jakub Dusek <delphi(zv)corexpert(tec)com> - 4.1.2005 22:46:31

Nevrati, ven se zpropaguje vyjimka. Jak tu psal mj. Petr.

Jakub Dusek
----------------------------------------------------------------------
web: http://www.corexpert.com, mobile: +420 604 615 795, ICQ: 86063232
odesilani smsek, vizitek, log a melodii, snadna integrace do Vaseho IS
=> Sms GateKeeper, Sms GateKeeper Service

======================================================================
Tuesday, January 4, 2005, 10:42:30 PM, you wrote:

JC> No vzdyt. Tam se zavre spojeni s registry a vrati se Result
JC> co byl nastaven an zacatku. To cteni tech dat se neprovede.

Uzivatel

[*] Jiri Cincura <diskuze(zv)cincura(tec)net> - 4.1.2005 22:42:30

Jakub Dusek wrote:
> No ale try..finally vyjimku nezachyti, pouze zajisti ze se i pri jejim
> vyvolani spusti kod ve finally sekci.

No vzdyt. Tam se zavre spojeni s registry a vrati se Result co byl nastaven an zacatku. To cteni tech dat se neprovede.

--
Jiri Cincura
http://www.cincura.net/
http://ID3renamer.cincura.net/
ICQ#: 314711544
http://photo.cincura.net/
http://phorum.cincura.net/
http://x2develop.com/

Uzivatel

[*] Jakub Dusek <delphi(zv)corexpert(tec)com> - 4.1.2005 22:28:29

No ale try..finally vyjimku nezachyti, pouze zajisti ze se i pri jejim
vyvolani spusti kod ve finally sekci.

Jakub Dusek
----------------------------------------------------------------------
web: http://www.corexpert.com, mobile: +420 604 615 795, ICQ: 86063232
odesilani smsek, vizitek, log a melodii, snadna integrace do Vaseho IS
=> Sms GateKeeper, Sms GateKeeper Service

======================================================================
Tuesday, January 4, 2005, 10:16:28 PM, you wrote:

JC> Ja to v try..finally ne? Nebo jsem zas nekde neco prehledl?

Uzivatel

[*] Jakub Dusek <delphi(zv)corexpert(tec)com> - 4.1.2005 22:20:28

Tak nevim... Mam kod:

var
Result: string;
begin
Result := 'aaa';
Result := 'bbb';
Edit1.Text := Result;

A zadny hint pri kompilaci. Jsem presvedcen, ze to driv fungovalo v D6
a D7, ted mi to nechodi ani v jednom (ze bych je rozkonfiguroval
obe?), ale mozna si to pletu s nejakym pokrocilejsim kompilatorem :)

Jakub Dusek
----------------------------------------------------------------------
web: http://www.corexpert.com, mobile: +420 604 615 795, ICQ: 86063232
odesilani smsek, vizitek, log a melodii, snadna integrace do Vaseho IS
=> Sms GateKeeper, Sms GateKeeper Service

======================================================================
Tuesday, January 4, 2005, 9:58:21 PM, you wrote:

JD> Me nepotvrzuje nic, at se snazim o jakoukoliv prasecinu... Nevim co
JD> jsem kde vypnul... "Show hints" i "Show warnings" mam v compiler
JD> options zapnute.

Uzivatel

[*] Jiri Cincura <diskuze(zv)cincura(tec)net> - 4.1.2005 22:16:28

Jakub Dusek wrote:
> Ta vyjimka se tam ale nikde neodchytava, takze se zpropaguje ven a
> vysledek funkce nedostanu (pouze vyjimku). A pokud nedojde k vyjimce tak
> se druhe prirazeni vyvola (neni tam zadna podminka).

Ja to v try..finally ne? Nebo jsem zas nekde neco prehledl?

--
Jiri Cincura
http://www.cincura.net/
http://ID3renamer.cincura.net/
ICQ#: 314711544
http://photo.cincura.net/
http://phorum.cincura.net/
http://x2develop.com/

pozadie listview

[*] Petr Vones <konference(zv)petrvones(tec)net> - 4.1.2005 22:12:22

From: "Hubert " <hubert(zv)pokec.sk>
> chcem sa opytat ci by mi niekto neporadil ako dam obrazok do pozadia
> listview

Podivej se na $(DELPHI)\Demos\CustomDraw. Vysledek ale nebude uplne idealni.

Petr Vones

Otevreni a Ulozeni sifrovaneho souboru

[*] Petr Vones <konference(zv)petrvones(tec)net> - 4.1.2005 22:08:22

From: "Chaosz - Veliky" <chaosz-veliky(zv)volny(tec)cz>
> chci uzivatelum umoznit komfortni on-line sifrovani/desifrovani
> souboru na lokalnim disku, ale mevim moc jak na to.

Co treba pouzit sifrovani v NTFS ?

> Pri otevreni sifrovaneho souboru (treba *.doc), by se provedlo
> desifrovani a Wordu by se podstrcil uz rozsifrovany soubor.
>
> Jak ale odchytit udalost, ze se otevira soubor z disku ??

Musel by si napsat kernel driver ktery by toto odchytil. To lze prakticky jen
v MSVC++ a je potrebna znalost DDK.

> A jak odchytit udalost uzavreni/ulozeni souboru, abych ho mohl zase
> zasifrovat ??

Na urovni aplikace nijak.

Petr Vones

Uzivatel

[*] Petr Vones <konference(zv)petrvones(tec)net> - 4.1.2005 22:04:22

From: "Tomas Rosa" <trosa(zv)seznam(tec)cz>
> Pokud se nepletu, pak se pouzije prave tehdy, dojde-li v OpenKeyReadOnly k
> vyjimce. Takze proto ti to kompilator nepotvrdi. Naopak, smaz ho a potvrdi

Pokud dojde k vyjimce (ktera se nikde dale v tom kodu neosetruje) tak je jiz
vysledna hodnota nedulezita jelikoz se zpracuje nejblizsi try..except handler.

Petr Vones

Uzivatel

[*] Petr Vones <konference(zv)petrvones(tec)net> - 4.1.2005 22:00:21

From: "Jiri Cincura" <diskuze(zv)cincura.net>
> No to snad vrati to same co je v registrech ne? Je to jen zapouzdrene.

Rekneme ze je to "preferovany zpusob" nez se spolehat na to ze nekde je
nahodou neco v registu (a v jine verzi Windows uz to muze byt uplne jinde).

Petr Vones

Uzivatel

[*] Jakub Dusek <delphi(zv)corexpert(tec)com> - 4.1.2005 21:58:21

Me nepotvrzuje nic, at se snazim o jakoukoliv prasecinu... Nevim co
jsem kde vypnul... "Show hints" i "Show warnings" mam v compiler
options zapnute.

Ta vyjimka se tam ale nikde neodchytava, takze se zpropaguje ven a
vysledek funkce nedostanu (pouze vyjimku). A pokud nedojde k vyjimce
tak se druhe prirazeni vyvola (neni tam zadna podminka).

Jakub Dusek
----------------------------------------------------------------------
web: http://www.corexpert.com, mobile: +420 604 615 795, ICQ: 86063232
odesilani smsek, vizitek, log a melodii, snadna integrace do Vaseho IS
=> Sms GateKeeper, Sms GateKeeper Service

======================================================================
Tuesday, January 4, 2005, 9:36:18 PM, you wrote:

TR> Pokud se nepletu, pak se pouzije prave tehdy, dojde-li v OpenKeyReadOnly k
TR> vyjimce. Takze proto ti to kompilator nepotvrdi. Naopak, smaz ho a potvrdi
TR> ti, ze result nemusi byt definovan.

Uzivatel

[*] Jiri Cincura <diskuze(zv)cincura(tec)net> - 4.1.2005 21:52:20

Petr Vones wrote:
> From: "Jiri Cincura" <diskuze(zv)cincura.net>
>> Tohle pouzivam ja:
>> function GetAppDataDir: String;
>
> K tomu slouzi API funkce SHGetSpecialFolderLocation s parametrem
> CSIDL_APPDATA

No to snad vrati to same co je v registrech ne? Je to jen zapouzdrene.

--
Jiri Cincura
http://www.cincura.net/
http://ID3renamer.cincura.net/
ICQ#: 314711544
http://photo.cincura.net/
http://phorum.cincura.net/
http://x2develop.com/

Uzivatel

[*] Petr Vones <konference(zv)petrvones(tec)net> - 4.1.2005 21:46:19

From: "Jiri Cincura" <diskuze(zv)cincura.net>
> Tohle pouzivam ja:
> function GetAppDataDir: String;

K tomu slouzi API funkce SHGetSpecialFolderLocation s parametrem CSIDL_APPDATA

Petr Vones

Otevreni a Ulozeni sifrovaneho souboru

[*] Jiri Cincura <diskuze(zv)cincura(tec)net> - 4.1.2005 21:42:19

Chaosz wrote:
> Ahoj,
>
> no, ze bych zrovna chtel psat NTFS driver, tak to snad ani ne :-)
>
> Spis jsem myslel chytit se nejake udalosti ve Win, volani API, nebo tak
> neco (otevreni souboru).

No rekl bych, ze udalost na otevreni souboru je dost divna vec. Myslim, ze to nejde.

Urcite se bude muset psat nejaka knihovna, ktera se povesi (kdyz uz) na nejaky hook, ktery to bude posilat. Ale silne pochybuju, ze
neco takoveho je, uz jen kvuli vykonu.

--
Jiri Cincura
http://www.cincura.net/
http://ID3renamer.cincura.net/
ICQ#: 314711544
http://photo.cincura.net/
http://phorum.cincura.net/
http://x2develop.com/

Uzivatel

[*] Jiri Cincura <diskuze(zv)cincura(tec)net> - 4.1.2005 21:40:18

Tomas Rosa wrote:
> Pokud se nepletu, pak se pouzije prave tehdy, dojde-li v OpenKeyReadOnly
> k vyjimce. Takze proto ti to kompilator nepotvrdi. Naopak, smaz ho a
> potvrdi ti, ze result nemusi byt definovan.

Presne tak. Aspon tak si to doted myslim. :)

--
Jiri Cincura
http://www.cincura.net/
http://ID3renamer.cincura.net/
ICQ#: 314711544
http://photo.cincura.net/
http://phorum.cincura.net/
http://x2develop.com/

Uzivatel

[*] Tomas Rosa <trosa(zv)seznam(tec)cz> - 4.1.2005 21:36:18

Pokud se nepletu, pak se pouzije prave tehdy, dojde-li v OpenKeyReadOnly k
vyjimce. Takze proto ti to kompilator nepotvrdi. Naopak, smaz ho a potvrdi
ti, ze result nemusi byt definovan.

>Na co je tam ten prvni radek? IMHO se nikdy nepouzije (pokud nekoukam
>spatne, Delphi mi nejak prestalo vyhazovat hinty, takze mi to
>nepotvrdi...).
>
>
>JC> function GetAppDataDir: String;
>JC> begin
>JC> Result :=
>JC> ExtractFileDir(ExtractFileDir(Application.ExeName)); //v nouzi k
>JC> aplikaci
>JC> with TRegistry.Create do
>JC> try
>JC> RootKey := HKEY_CURRENT_USER;
>JC>
>JC> OpenKeyReadOnly('\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell
>JC> Folders');
>JC> Result := ReadString('AppData');
>JC> finally
>JC> CloseKey;
>JC> Free;
>JC> end;
>JC> end; S pozdravem
Tomas Rosa

------------------------=[ pinknet on every screen]=-----------------------
Tomas Rosa
Tomas.Rosa(zv)PinkNet(tec)cz http://www.pnws.org
+420 602 860 704
PinkNet Web Server for Win32 - FREEWARE www.pnws.org
---------------------------------------------------------------------------

Otevreni a Ulozeni sifrovaneho souboru

[*] Chaosz <chaosz-veliky(zv)volny(tec)cz> - 4.1.2005 20:58:15

Ahoj,

no, ze bych zrovna chtel psat NTFS driver, tak to snad ani ne :-)

Spis jsem myslel chytit se nejake udalosti ve Win, volani API, nebo
tak neco (otevreni souboru).
To je jeste jednoduche, muzu si taky udelat vlastni file manager ala
MS Pruzkumnik a v nem reagovat na otevreni souboru.

Horsi orisek je detekovani ulozeni/uzavreni souboru aplikacii, ktera
jej modifikovala (napriklad textovy editor)

Stepan o:) -=* Jiri Cincura <delphi-l(zv)clexpert(tec)cz>, 4.1.2005 14:07 wrote *=-
JC> Do Windowsu si muzes nainstalovat NTFS driver. Potom vsechno
JC> pujde pres tebe. Myslim, ze podobne to dela AVG.

JC> Doporucil bych hledat na MSDN, tam to bude urcite popsane, a urcite to bude dost zly. ;)

JC> Je to stejne, jako kdyz se FW nacpe nad sit.

JC> Chaosz wrote:

>> Ahoj vespolek,
>>
>> chci uzivatelum umoznit komfortni on-line sifrovani/desifrovani souboru
>> na lokalnim disku, ale mevim moc jak na to.
>>
>> Pri otevreni sifrovaneho souboru (treba *.doc), by se provedlo
>> desifrovani a Wordu by se podstrcil uz rozsifrovany soubor.

Uzivatel

[*] Jakub Dusek <delphi(zv)corexpert(tec)com> - 4.1.2005 20:52:14

Na co je tam ten prvni radek? IMHO se nikdy nepouzije (pokud nekoukam
spatne, Delphi mi nejak prestalo vyhazovat hinty, takze mi to
nepotvrdi...).

Jakub Dusek
----------------------------------------------------------------------
web: http://www.corexpert.com, mobile: +420 604 615 795, ICQ: 86063232
odesilani smsek, vizitek, log a melodii, snadna integrace do Vaseho IS
=> Sms GateKeeper, Sms GateKeeper Service

======================================================================
Tuesday, January 4, 2005, 3:47:51 PM, you wrote:

JC> function GetAppDataDir: String;
JC> begin
JC> Result :=
JC> ExtractFileDir(ExtractFileDir(Application.ExeName)); //v nouzi k
JC> aplikaci
JC> with TRegistry.Create do
JC> try
JC> RootKey := HKEY_CURRENT_USER;
JC>
JC> OpenKeyReadOnly('\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell
JC> Folders');
JC> Result := ReadString('AppData');
JC> finally
JC> CloseKey;
JC> Free;
JC> end;
JC> end;

IBExpert

[*] Jiri Cincura <diskuze(zv)cincura(tec)net> - 4.1.2005 18:52:06

Jan Rizek wrote:
> Jo jeste me napadlo ze na MySQL existuji webovi admini.. Tak treba je i
> neco pro FB - i kdyz o tom dost pochybuji
>
> mozna by pro vas bylo lepsi pouzit vzdalenou plochu (pomoc) nebo VNC tak
> neco.. a IBExpert nechat pracovat na serveru - ale asi zakladni problem
> bude v tom GPRS :-)
>

Diky, za aspon neco. Ano GPRS se problem, ale co jineho na cestach?

IBManager jsem zkusil, ale na FB mi trochu padal. :)

Ted jsem trochu vyladil IBExpert, takze je to uz snesitelne, ale mohlo by to byt lepsi.

Pro web je ibWebAdmin, ale nejni to zrovna nejlepe napsane a neumi to plno veci, ktere pri sprave DB potrebuju (a treba ceska znaky
mu taky delaji problemy, resp. je preklada do "&123;" ci podobnych).

Ale i tak diky. Snad to jeste nejak vyladim.

--
Jiri Cincura
http://www.cincura.net/
http://ID3renamer.cincura.net/
ICQ#: 314711544
http://photo.cincura.net/
http://phorum.cincura.net/
http://x2develop.com/

OT Je zajem o Delphi 2005 na seminari Belohrad 200

[*] Petr Vones <konference(zv)petrvones(tec)net> - 4.1.2005 18:34:04

Ahoj,

neni tajemstvim ze jiz nekolik let porada Honza Sebelik kazdorocni seminar na
tema Delphi a pribuznych veci. Vzhledem k situaci na trhu vyvojovych nastroju
a obecnych trendu v programovani se letosni rocnik jiz nazyva "Belohrad 2005",
vice se dozvite zde: http://www.haes(tec)cz/ws_pozv.asp?r=x

Chtel jsem se timto zeptat, jestli je zde jeste vubec zajem o prispevek na
tema Delphi (a tedy jeho aktualni verze Delphi 2005) nebo zdali jiz vetsina z
vas o prechodu na tuto verzi neuvazuje a je to pro vas vicemene nezajimave.

Pro diskuzi o programu seminare bylo jiz pred casem zrizeno diskusni forum
zde: http://www.hlinka(tec)cz/belohrad/ takze komentare smerujte prosim tam, at se
zbytecne nezatezuje Delphi konference.

Petr Vones

Exkluzivni pristup ke zvukovce

[*] Jiri Baudys <konference(zv)baudys.name> - 4.1.2005 18:14:02

DD,
onehda jsem resil obdobny problem kvuli voip telefonii a osvedcila semi
finta 2 zvukovych karet. Vsechny zvuky z voip jsou smerovany na 2. kartu a
ve Win je default 1. ... funkuje to moc hezky :-).

Jirka

-----Original Message-----
From: delphi-l-owner(zv)clexpert(tec)cz [mailto:delphi-l-owner(zv)clexpert(tec)cz] On
Behalf Of delphin(zv)post(tec)cz
Sent: Tuesday, January 04, 2005 5:02 PM
To: delphi-l(zv)clexpert(tec)cz
Subject: Exkluzivni pristup ke zvukovce

U zakaznika je vystup ze zvukovky pripojen k firemnimu rozhlasu a moje
aplikace cas od casu prehraje nejaky wav.
Problem je v tom, ze ve vystupu jsou slyset i ostatni aplikace
(screensavery, hry), coz je nezadouci ?
Da se nejak zamezit ostatnim aplikacim v pristupu ke zvukovce ?

Diky Delphin

Exkluzivni pristup ke zvukovce

[*] Dalibor <dalibor(zv)torola(tec)cz> - 4.1.2005 18:06:01

Hm, ja bych to treba resil tim, ze bych tu zvukovku uplne ztlumil a pak kdyz
bych chtel neco prehrat, tak bych ji zase odtlumil :-)) Samozrejme
programove...

Ale to asi nebude presne to co chces..

>U zakaznika je vystup ze zvukovky pripojen k firemnimu rozhlasu a moje
> aplikace cas od casu prehraje nejaky wav.
> Problem je v tom, ze ve vystupu jsou slyset i ostatni aplikace
> (screensavery, hry), coz je nezadouci ?
> Da se nejak zamezit ostatnim aplikacim v pristupu ke zvukovce ?
>
> Diky Delphin
>
>
>

IBExpert

[*] Jan Rizek <jan_rizek(zv)centrum(tec)cz> - 4.1.2005 16:51:56

Jo jeste me napadlo ze na MySQL existuji webovi admini.. Tak treba je i neco
pro FB - i kdyz o tom dost pochybuji

mozna by pro vas bylo lepsi pouzit vzdalenou plochu (pomoc) nebo VNC tak
neco.. a IBExpert nechat pracovat na serveru - ale asi zakladni problem bude
v tom GPRS :-)
----- Original Message -----
From: "Jiri Cincura" <diskuze(zv)cincura.net>
To: <delphi-l(zv)clexpert(tec)cz>
Sent: Wednesday, December 29, 2004 8:37 PM
Subject: IBExpert


> Ahoj,
> nevedel by nekdo, jak v IBExpertu nastavit nejake slusne vyuzivani
> kapacity linky? Jsem na GPRS a to cekani je hrozne, pritom
> treba nazvy tabulek v kazdem ComboBoxu to nacita znova, pritom by se to
> dalo cacheovat.
>
> Podobne inteligentne by se mohlo chovat vice veci.
>
> Nevedel by nekdo o nejakem nastaveni? Ja se v tom hrabal, ale menuzu nic
> najit.
>
> --
> Jiri Cincura
> http://www.cincura.net/
> http://ID3renamer.cincura.net/
> ICQ#: 314711544
> http://photo.cincura.net/
> http://phorum.cincura.net/
> http://x2develop.com/
>
>
>
>

Exkluzivni pristup ke zvukovce

[*] delphin(zv)post(tec)cz - 4.1.2005 17:01:57

U zakaznika je vystup ze zvukovky pripojen k firemnimu rozhlasu a moje
aplikace cas od casu prehraje nejaky wav.
Problem je v tom, ze ve vystupu jsou slyset i ostatni aplikace
(screensavery, hry), coz je nezadouci ?
Da se nejak zamezit ostatnim aplikacim v pristupu ke zvukovce ?

Diky Delphin


Problem s ukoncenim aplikace

[*] Lstiburek Pavel <lstiburek(zv)ceb(tec)cz> - 4.1.2005 16:51:56

Myslim ze by jsi mel uvolnit i oba formy
MainForm a prihlaseni.

Pavel
> From: delphi(zv)unileasing(tec)cz [mailto:delphi(zv)unileasing(tec)cz]

> Pri startu aplikace zobrazuji Splash screen a pak se uzivatel
> hlasi do databaze. Program jde spustit vse je OK.
> Ale pokud uzivatel zvoli zrusit pri prihlaseni do databaze,
> objevi se chyba EAccessViolation.
>
> Mam nasledujici sled prikazu :
> ...
> splash.show;
> application.initialize;
> application.createform(TMainform,MainForm);
> application.createform(Tprihlaseni,prihlaseni);
> prihlaseni.showmodal;
> If (vse OK) then begin
> splash.hide;
> splash.free;
> application.run;
> end
> else begin
> splash.hide;
> splash.free;
> end;
> end.

IBExpert

[*] Jan Rizek <jan_rizek(zv)centrum(tec)cz> - 4.1.2005 16:49:56

Zkuste IBManager - nebo si neco napiste sam - na SQL dotazy doporucuju
FasrReport 3 - maji tam komponentu skript - ktera vam zvyrazni SQL-ko


no asi jsem vam moc neporadil :-(
----- Original Message -----
From: "Jiri Cincura" <diskuze(zv)cincura.net>
To: <delphi-l(zv)clexpert(tec)cz>
Sent: Wednesday, December 29, 2004 8:37 PM
Subject: IBExpert


> Ahoj,
> nevedel by nekdo, jak v IBExpertu nastavit nejake slusne vyuzivani
> kapacity linky? Jsem na GPRS a to cekani je hrozne, pritom
> treba nazvy tabulek v kazdem ComboBoxu to nacita znova, pritom by se to
> dalo cacheovat.
>
> Podobne inteligentne by se mohlo chovat vice veci.
>
> Nevedel by nekdo o nejakem nastaveni? Ja se v tom hrabal, ale menuzu nic
> najit.
>
> --
> Jiri Cincura
> http://www.cincura.net/
> http://ID3renamer.cincura.net/
> ICQ#: 314711544
> http://photo.cincura.net/
> http://phorum.cincura.net/
> http://x2develop.com/
>
>
>
>

Problem s ukoncenim aplikace

[*] delphi(zv)unileasing(tec)cz - 4.1.2005 16:05:52

Pri startu aplikace zobrazuji Splash screen a pak se uzivatel hlasi do databaze. Program jde spustit vse je OK.
Ale pokud uzivatel zvoli zrusit pri prihlaseni do databaze, objevi se chyba EAccessViolation.

Mam nasledujici sled prikazu :
...
splash.show;
application.initialize;
application.createform(TMainform,MainForm);
application.createform(Tprihlaseni,prihlaseni);
prihlaseni.showmodal;
If (vse OK) then begin
splash.hide;
splash.free;
application.run;
end
else begin
splash.hide;
splash.free;
end;
end.


Diky za pomoc

Uzivatel

[*] Jiri Cincura <diskuze(zv)cincura(tec)net> - 4.1.2005 15:47:51

Petr Berek wrote:
> zabyvam se programovanim textoveho editoru. Napadlo me, ze by uzivatel
> mohl mit sve osobni udaje, jako je naposledy pouzite pismo, jeho velikost
> atd.. ulozenou ve slozce dokumenty.. Nevim ale, jak se k teto slozce
> dostat. Napadlo me, ze bych zjistil jmeno uzivatele a podle toho ty
> slozky, ale nevim jak na prvni, tak ani na to druhe.

Tohle by si si mel spis ulozit do "Data Aplikaci".

Tohle pouzivam ja:
function GetAppDataDir: String;
begin
Result := ExtractFileDir(ExtractFileDir(Application.ExeName)); //v nouzi k aplikaci
with TRegistry.Create do
try
RootKey := HKEY_CURRENT_USER;
OpenKeyReadOnly('\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders');
Result := ReadString('AppData');
finally
CloseKey;
Free;
end;
end;

--
Jiri Cincura
http://www.cincura.net/
http://ID3renamer.cincura.net/
ICQ#: 314711544
http://photo.cincura.net/
http://phorum.cincura.net/
http://x2develop.com/

Uzivatel

[*] Petr Berek <sojokl(zv)seznam(tec)cz> - 4.1.2005 15:35:50

================= Preposlana zprava =================
Od (From): "Petr Berek" <sojokl(zv)seznam(tec)cz>
Komu (To): delphi-l(zv)clexpert(tec)cz
Kopie (Cc):
Predmet (Subject):
Datum (Date): 4. 1. 2005 15:10
==================================================

Zdravim,
zabyvam se programovanim textoveho editoru. Napadlo me, ze by uzivatel mohl mit sve osobni udaje, jako je naposledy pouzite pismo, jeho velikost atd.. ulozenou ve slozce dokumenty.. Nevim ale, jak se k teto slozce dostat.
Napadlo me, ze bych zjistil jmeno uzivatele a podle toho ty slozky, ale nevim jak na prvni, tak ani na to druhe.
Petr

Otevreni a Ulozeni sifrovaneho souboru

[*] Jiri Cincura <diskuze(zv)cincura(tec)net> - 4.1.2005 14:07:43

Chaosz - Veliky wrote:
> Ahoj vespolek,
>
> chci uzivatelum umoznit komfortni on-line sifrovani/desifrovani souboru
> na lokalnim disku, ale mevim moc jak na to.
>
> Pri otevreni sifrovaneho souboru (treba *.doc), by se provedlo
> desifrovani a Wordu by se podstrcil uz rozsifrovany soubor.

Do Windowsu si muzes nainstalovat NTFS driver. Potom vsechno pujde pres tebe. Myslim, ze podobne to dela AVG.

Doporucil bych hledat na MSDN, tam to bude urcite popsane, a urcite to bude dost zly. ;)

Je to stejne, jako kdyz se FW nacpe nad sit.

--
Jiri Cincura
http://www.cincura.net/
http://ID3renamer.cincura.net/
ICQ#: 314711544
http://photo.cincura.net/
http://phorum.cincura.net/
http://x2develop.com/

automatikcke odpojeni tlf. pripojeni

[*] Roman Bradac <roman.bradac(zv)fotoinfo(tec)cz> - 4.1.2005 14:05:43

Zdravim vsechny vespolek,
Napsal jsem si programek co automaticky posila soubory pomoci IdFtp na ftp
server. Jestli-ze, posilam delsi data a pripojeni je pres modem, po urcite
dobe se win(98) snazi automaticky odpojit z duvodu necinosti.

Otazka: Lze nejakym zpusobem sdelit os ze prave probiha prenos, aby se
neodpojoval?

Dik za radu.

Otevreni a Ulozeni sifrovaneho souboru

[*] Chaosz - Veliky <chaosz-veliky(zv)volny(tec)cz> - 4.1.2005 13:59:42

Ahoj vespolek,

chci uzivatelum umoznit komfortni on-line sifrovani/desifrovani
souboru na lokalnim disku, ale mevim moc jak na to.

Pri otevreni sifrovaneho souboru (treba *.doc), by se provedlo
desifrovani a Wordu by se podstrcil uz rozsifrovany soubor.

Jak ale odchytit udalost, ze se otevira soubor z disku ??

A jak odchytit udalost uzavreni/ulozeni souboru, abych ho mohl zase
zasifrovat ??

Diky za jakekoli nasmerovani,

Stepan o:)

Cteni dat neznameho formatu z clipboardu.

[*] Petr Vones <konference(zv)petrvones(tec)net> - 4.1.2005 13:49:41

From: "Jan Liszka" <jan.liszka(zv)liszka(tec)cz>
> Mam v clipboardu neznamy format dat. Jak mohu tyto data precist ?
> Napada me pristup na clipboard jako na obecny buffer napriklad
> { array of char ).

Podivej se na tridu TClipboard. Pomoci metod Formats/FormatCount zjistis jake
formaty tam jsou, pak pouzij GetAsHandle ke cteni. Vice je v helpu.

Petr Vones

InstallShield Express 3.5 SP4

[*] Tomas Krejzek <tomas.krejzek(zv)kpsys(tec)cz> - 4.1.2005 09:13:22

No ja se nechci hadat ale IS ma script wizard, neni to tedy zas az
takova pecka, ale urcite to na jednoduchy programek zcela postacuje.
Tom

Vlastimil Burian napsal(a):

>rad bych zacal pouzivat nejakou sikovnou utilitku na tvorbu instalacek ...
>dneska sem nainstaloval %subj% ale vzdycky mi v ruznou chvili ve wizardu
>vznikne acces violation a konec .... setkal se s tim nekdo ?
>
>nebo z vlastni zkusenosti doporucujete inno setup ? ja jenom ze nema wizard
>myslim tak mi to pride na primitivni instalacky "zbytecny" se zas ucit jeho
>zapis ...
>
>Vlasta
>ICQ: 265-226-027
>[D7 Ent, WXPP.SP2]
>
>
>
>
>
>
>

Jak zjistit zda mohu do adresare zapisovat

[*] Milan Tomes <delphi(zv)haida(tec)cz> - 4.1.2005 08:39:19

Funguje pro WinNT s file-systemem NTFS (pro jine pripady vraci, ze je vse
povoleno)

unit NTSecurity;

interface

uses
Windows;

const
//Ace types
ACCESS_ALLOWED_ACE_TYPE = $0;
ACCESS_DENIED_ACE_TYPE = $1;
SYSTEM_AUDIT_ACE_TYPE = $2;
SYSTEM_ALARM_ACE_TYPE = $3;
ACCESS_ALLOWED_COMPOUND_ACE_TYPE = $4;
ACCESS_ALLOWED_OBJECT_ACE_TYPE = $5;
ACCESS_DENIED_OBJECT_ACE_TYPE = $6;
SYSTEM_AUDIT_OBJECT_ACE_TYPE = $7;
SYSTEM_ALARM_OBJECT_ACE_TYPE = $8;

type
{$Z4}
SE_OBJECT_TYPE = (
SE_UNKNOWN_OBJECT_TYPE,
SE_FILE_OBJECT,
SE_SERVICE,
SE_PRINTER,
SE_REGISTRY_KEY,
SE_LMSHARE,
SE_KERNEL_OBJECT,
SE_WINDOW_OBJECT,
SE_DS_OBJECT,
SE_DS_OBJECT_ALL,
SE_PROVIDER_DEFINED_OBJECT,
SE_WMIGUID_OBJECT
);
{$Z1}

PPSID = ^PSID;

PTokenUser = ^_TOKEN_USER;
_TOKEN_USER = record
User: TSIDAndAttributes;
end;

TAceHeader = packed record
AceFlags: Byte;
AceSize: Word;
end;

TAccessAllowedAce = packed record
Header: TAceHeader;
Mask: ACCESS_MASK;
SidStart: DWORD;
end;

TAccessDeniedAce = packed record
Header: TAceHeader;
Mask: ACCESS_MASK;
SidStart: DWORD;
end;

TSystemAuditAce = packed record
Header: TAceHeader;
Mask: ACCESS_MASK;
SidStart: DWORD;
end;

TSystemAlarmAce = packed record
Header: TAceHeader;
Mask: ACCESS_MASK;
SidStart: DWORD;
end;

TAccessAllowedCompoundAce = packed record
Header: TAceHeader;
Mask: ACCESS_MASK;
Flags: DWORD;
ObjectType: TGUID;
InheritedObjectType: TGUID;
SidStart: DWORD;
end;

TAccessAllowedObjectAce = packed record
Header: TAceHeader;
Mask: ACCESS_MASK;
Flags: DWORD;
ObjectType: TGUID;
InheritedObjectType: TGUID;
SidStart: DWORD;
end;

TAccessDeniedObjectAce = packed record
Header: TAceHeader;
Mask: ACCESS_MASK;
Flags: DWORD;
ObjectType: TGUID;
InheritedObjectType: TGUID;
SidStart: DWORD;
end;

TSystemAuditObjectAce = packed record
Header: TAceHeader;
Mask: ACCESS_MASK;
Flags: DWORD;
ObjectType: TGUID;
InheritedObjectType: TGUID;
SidStart: DWORD;
end;

TSystemAlarmObjectAce = packed record
Header: TAceHeader;
Mask: ACCESS_MASK;
Flags: DWORD;
ObjectType: TGUID;
InheritedObjectType: TGUID;
SidStart: DWORD;
end;

TAce = packed record
case AceType: Byte of
ACCESS_ALLOWED_ACE_TYPE: (AccessAllowedAce: TAccessAllowedAce);
ACCESS_DENIED_ACE_TYPE: (AccessDeniedAce: TAccessDeniedAce);
SYSTEM_AUDIT_ACE_TYPE: (SystemAuditAce: TSystemAuditAce);
SYSTEM_ALARM_ACE_TYPE: (SystemAlarmAce: TSystemAlarmAce);
ACCESS_ALLOWED_COMPOUND_ACE_TYPE: (AccessAllowedCompoundAce:
TAccessAllowedCompoundAce);
ACCESS_ALLOWED_OBJECT_ACE_TYPE: (AccessAllowedObjectAce:
TAccessAllowedObjectAce);
ACCESS_DENIED_OBJECT_ACE_TYPE: (AccessDeniedObjectAce:
TAccessDeniedObjectAce);
SYSTEM_AUDIT_OBJECT_ACE_TYPE: (SystemAuditObjectAce:
TSystemAuditObjectAce);
SYSTEM_ALARM_OBJECT_ACE_TYPE: (SystemAlarmObjectAce:
TSystemAlarmObjectAce);
end;
PAce = ^TAce;

TGetNamedSecurityInfoProc = function(pObjectName: PAnsiChar; ObjectType:
SE_OBJECT_TYPE; SecurityInfo: SECURITY_INFORMATION; ppsidOwner, ppsidGroup:
PPSID; ppDacl, ppSacl: PACL; var ppSecurityDescriptor:
PSECURITY_DESCRIPTOR): DWORD; stdcall; {use localfree to release
ppSecurityDescriptor}

TFileAccessRight = (arAll, arRead, arWrite, arExecute, arDelete,
arChangePermissions, arTakeOwnership);
TFileAccessRights = set of TFileAccessRight;

const
FILE_READ_DATA = $0001;
// file & pipe
FILE_LIST_DIRECTORY = $0001;
// directory
FILE_WRITE_DATA = $0002;
// file & pipe
FILE_ADD_FILE = $0002;
// directory
FILE_APPEND_DATA = $0004;
// file
FILE_ADD_SUBDIRECTORY = $0004;
// directory
FILE_CREATE_PIPE_INSTANCE = $0004;
// named pipe
FILE_READ_EA = $0008;
// file & directory
FILE_READ_PROPERTIES = FILE_READ_EA;
FILE_WRITE_EA = $0010;
// file & directory
FILE_WRITE_PROPERTIES = FILE_WRITE_EA;
FILE_EXECUTE = $0020;
// file
FILE_TRAVERSE = $0020;
// directory
FILE_DELETE_CHILD = $0040;
// directory
FILE_READ_ATTRIBUTES = $0080;
// all
FILE_WRITE_ATTRIBUTES = $0100;
// all
FILE_ALL_ACCESS = (STANDARD_RIGHTS_REQUIRED or SYNCHRONIZE or $1FF);
FILE_GENERIC_READ = (STANDARD_RIGHTS_READ or FILE_READ_DATA or
FILE_READ_ATTRIBUTES or FILE_READ_EA or SYNCHRONIZE);
FILE_GENERIC_WRITE = (STANDARD_RIGHTS_WRITE or FILE_WRITE_DATA or
FILE_WRITE_ATTRIBUTES or FILE_WRITE_EA or FILE_APPEND_DATA or SYNCHRONIZE);
FILE_GENERIC_EXECUTE = (STANDARD_RIGHTS_EXECUTE or FILE_READ_ATTRIBUTES or
FILE_EXECUTE or SYNCHRONIZE);

function RegAccessRights(ARootKey: HKEY; AKey: string): TFileAccessRights;
function DirAccessRights(ADir: string): TFileAccessRights;
function GetNTAccessRights(AObject: PChar; AObjectType: SE_OBJECT_TYPE):
ACCESS_MASK;

implementation

uses
SysUtils,
JclSysInfo, JclSecurity, JclSysUtils,
G3Types;

function RegAccessRights(ARootKey: HKEY; AKey: string): TFileAccessRights;
var
ObjectName: string;
Mask: ACCESS_MASK;
begin
case ARootKey of
HKEY_CLASSES_ROOT: ObjectName := 'CLASSES_ROOT' + iff(AKey[1] = '\', '',
'\') + AKey;
HKEY_CURRENT_USER: ObjectName := 'CURRENT_USER' + iff(AKey[1] = '\', '',
'\') + AKey;
HKEY_LOCAL_MACHINE: ObjectName := 'MACHINE' + iff(AKey[1] = '\', '',
'\') + AKey;
HKEY_USERS: ObjectName := 'USERS' + iff(AKey[1] = '\', '', '\') + AKey;
end;
Mask := GetNTAccessRights(PChar(ObjectName), SE_REGISTRY_KEY);
Result := [];
if Mask = KEY_ALL_ACCESS then
Result := [arAll, arRead, arWrite, arDelete, arChangePermissions,
arTakeOwnership]
else
begin
if (Mask and KEY_READ) = KEY_READ then
Result := Result + [arRead];
if (Mask and KEY_WRITE) = KEY_WRITE then
Result := Result + [arWrite];
if (Mask and _DELETE) = _DELETE then
Result := Result + [arDelete];
if (Mask and WRITE_DAC) = WRITE_DAC then
Result := Result + [arChangePermissions];
if (Mask and WRITE_OWNER) = WRITE_OWNER then
Result := Result + [arTakeOwnership];
end;
end;

function DirAccessRights(ADir: string): TFileAccessRights;
var
Mask: ACCESS_MASK;
begin
Mask := GetNTAccessRights(PChar(ADir), SE_FILE_OBJECT);
Result := [];
if Mask = FILE_ALL_ACCESS then
Result := [arAll, arRead, arWrite, arExecute, arDelete,
arChangePermissions, arTakeOwnership]
else
begin
if (Mask and FILE_GENERIC_READ) = FILE_GENERIC_READ then
Result := Result + [arRead];
if (Mask and FILE_GENERIC_WRITE) = FILE_GENERIC_WRITE then
Result := Result + [arWrite];
if (Mask and FILE_GENERIC_EXECUTE) = FILE_GENERIC_EXECUTE then
Result := Result + [arExecute];
if (Mask and _DELETE) = _DELETE then
Result := Result + [arDelete];
if (Mask and WRITE_DAC) = WRITE_DAC then
Result := Result + [arChangePermissions];
if (Mask and WRITE_OWNER) = WRITE_OWNER then
Result := Result + [arTakeOwnership];
end;
end;

function GetNTAccessRights(AObject: PChar; AObjectType: SE_OBJECT_TYPE):
ACCESS_MASK;
var
SD: Pointer;
DACL: PACL;
Err: Cardinal;
GetNamedSecurityInfo: TGetNamedSecurityInfoProc;
DllHnd: HModule;

HaveToken: boolean;
Token: THandle;
BufferLength: DWORD;
GroupsTokenInfo: PTokenGroups;
UserTokenInfo: PTokenUser;
Ace: PAce;
AceIndex: word;
AceSid: PSid;
RelatedAce: boolean;
i: cardinal;
begin
Result := $FFFFFFFF;
DllHnd := 0;
HaveToken := false;
if isWinNT then
begin
try
Result := 0;
//Dynamicky nalinkuj potrebne funkce
DllHnd := LoadLibrary('ADVAPI32.DLL');
if DllHnd = 0 then
raise EG3OSError.Create('Nelze nacist knihovnu AdvApi32.dll !!!');
(zv)GetNamedSecurityInfo := GetProcAddress(DllHnd,
'GetNamedSecurityInfoA');
//Zjisti token
HaveToken := OpenProcessToken(GetCurrentProcess, TOKEN_QUERY, Token);
//Zjisti SID vlastnika procesu
if not GetTokenInformation(Token, TokenUser, nil, 0, BufferLength)
then
begin
Err := GetLastError;
if Err <> ERROR_INSUFFICIENT_BUFFER then
raise EG3OSError.CreateCode('Nastala chyba pri zjistovani
pristupovych prav k objektu ' + AObject + ' (GetTokenInformation - user SID
buffer length) !!!', Err);
end;
UserTokenInfo := PTokenUser(AllocMem(BufferLength));
if not GetTokenInformation(Token, TokenUser, UserTokenInfo,
BufferLength, BufferLength) then
raise EG3OSError.Create('Nastala chyba pri zjistovani pristupovych
prav k objektu ' + AObject + ' (GetTokenInformation - user SID) !!!');
//Zjisti SIDy skupin, do kterych vlastnik procesu patri
if not GetTokenInformation(Token, TokenGroups, nil, 0, BufferLength)
then
begin
Err := GetLastError;
if Err <> ERROR_INSUFFICIENT_BUFFER then
raise EG3OSError.CreateCode('Nastala chyba pri zjistovani
pristupovych prav k objektu ' + AObject + ' (GetTokenInformation - groups
buffer length) !!!', Err);
end;
GroupsTokenInfo := PTokenGroups(AllocMem(BufferLength));
if not GetTokenInformation(Token, TokenGroups, GroupsTokenInfo,
BufferLength, BufferLength) then
raise EG3OSError.Create('Nastala chyba pri zjistovani pristupovych
prav k objektu ' + AObject + ' (GetTokenInformation - groups) !!!');
//Zjisti DACL pro pozadovany prostredek
Err := GetNamedSecurityInfo(AObject, AObjectType,
DACL_SECURITY_INFORMATION, nil, nil, (zv)DACL, nil, SD);
if Err <> ERROR_SUCCESS then
raise EG3OSError.CreateCode('Nastala chyba pri zjistovani
pristupovych prav k objektu ' + AObject + ' (GetNamedSecurityInfo) !!!',
Err)
else
begin
if DACL = nil then
//Null DACL - nesmi byt
if AObjectType = SE_FILE_OBJECT then
//Pokud se pozaduje DACL souboru - na souborovem systemu FAT se ACL nevraci
begin
result := $FFFFFFFF;
exit;
end
else
raise EG3OSError.CreateCode('Nastala chyba pri zjistovani
pristupovych prav k objektu ' + AObject + ' (GetNamedSecurityInfo - Dacl =
nil) !!!', Err);
if not IsValidAcl(DACL^) then
raise EG3OSError.Create('Nastala chyba pri zjistovani pristupovych
prav k objektu ' + AObject + ' (IsValidAcl) !!!');
for AceIndex := 0 to Pred(DACL^.AceCount) do
begin
GetAce(DACL^, AceIndex, Pointer(Ace));
AceSid := PSid((zv)Ace.AccessAllowedAce.SidStart);
RelatedAce := false;
if EqualSid(AceSid, UserTokenInfo^.User.Sid) then
RelatedAce := true
else
begin
for i := 0 to Pred(GroupsTokenInfo^.GroupCount) do
begin
{$IFOPT R+}
{$DEFINE RANGECHECKS_ON}
{$ENDIF}
{$RANGECHECKS OFF}
// Groups is an array [0..0] of TSIDAndAttributes, ignore ERangeError
if EqualSid(AceSid, GroupsTokenInfo^.Groups[i].Sid) then
begin
RelatedAce := true;
break;
end;
{$IFDEF RANGECHECKS_ON}
{$RANGECHECKS ON}
{$UNDEF RANGECHECKS_ON}
{$ENDIF}
end;
end;
if RelatedAce then
begin
case Ace^.AceType of
ACCESS_ALLOWED_ACE_TYPE: Result := Result or
Ace^.AccessAllowedAce.Mask;
ACCESS_DENIED_ACE_TYPE: Result := Result or
Ace^.AccessDeniedAce.Mask;
end;
end;
end;
end;
finally
if HaveToken then
CloseHandle(Token);
if SD <> nil then
LocalFree(Cardinal(SD));
if DllHnd <> 0 then
FreeLibrary(DllHnd);
if UserTokenInfo <> nil then
FreeMem(UserTokenInfo);
if UserTokenInfo <> nil then
FreeMem(GroupsTokenInfo);
end;
end;
end;

end.

S pozdravem

Milan Tomes

> [mailto:delphi-l-owner(zv)clexpert(tec)cz]On Behalf Of Lstiburek Pavel
> Sent: Monday, January 03, 2005 2:34 PM
>
> Nevi nekdo jak zjistit zda mohu do adresare zapisovat (vytvaret,
> menit soubory).

InstallShield Express 3.5 SP4

[*] Ing. Petr Kejval <petr.kejval(zv)worldonline(tec)cz> - 4.1.2005 08:33:17

Z vlastni zkusenosti doopravdy doporucuji InnoSetup ve spojeni s IsTool
script editorem. To cele lze najednou stahnout jako QuickStart Pack z adresy
http://www.jrsoftware.org/isdl.php.

S pozdravem
Petr

> rad bych zacal pouzivat nejakou sikovnou utilitku na tvorbu instalacek ...
> dneska sem nainstaloval %subj% ale vzdycky mi v ruznou chvili ve wizardu
> vznikne acces violation a konec .... setkal se s tim nekdo ?
>
> nebo z vlastni zkusenosti doporucujete inno setup ? ja jenom ze nema
> wizard
> myslim tak mi to pride na primitivni instalacky "zbytecny" se zas ucit
> jeho
> zapis ...
>
> Vlasta


Cteni dat neznameho formatu z clipboardu.

[*] Jan Liszka <jan.liszka(zv)liszka(tec)cz> - 4.1.2005 08:31:17

Mam v clipboardu neznamy format dat. Jak mohu tyto data precist ?
Napada me pristup na clipboard jako na obecny buffer napriklad
{ array of char ).

InstallShield Express 3.5 SP4

[*] Jiri Foldyna <jiri.f(zv)avizo(tec)cz> - 4.1.2005 07:59:14

GUI po vyrobu instalacnich skriptu InnoSetup je na

http://www.istool.org

Jiri Foldyna

> rad bych zacal pouzivat nejakou sikovnou utilitku na tvorbu
> instalacek ...
> dneska sem nainstaloval %subj% ale vzdycky mi v ruznou chvili
> ve wizardu
> vznikne acces violation a konec .... setkal se s tim nekdo ?
>
> nebo z vlastni zkusenosti doporucujete inno setup ? ja jenom
> ze nema wizard
> myslim tak mi to pride na primitivni instalacky "zbytecny" se
> zas ucit jeho
> zapis ...

InstallShield Express 3.5 SP4

[*] delphi(zv)mjsoft(tec)cz - 4.1.2005 07:57:13

Zdravim,

doporucuji inno setup spolecne s nastrojen istools
http://www.istool.org. To je to co potrebujes.

Karel V.
> rad bych zacal pouzivat nejakou sikovnou utilitku na tvorbu
> instalacek ... dneska sem nainstaloval %subj% ale vzdycky mi
> v ruznou chvili ve wizardu vznikne acces violation a konec
> .... setkal se s tim nekdo ?
>
> nebo z vlastni zkusenosti doporucujete inno setup ? ja jenom
> ze nema wizard myslim tak mi to pride na primitivni
> instalacky "zbytecny" se zas ucit jeho zapis ...

InstallShield Express 3.5 SP4

[*] Vlastimil Burian <vlastax.b(zv)seznam(tec)cz> - 4.1.2005 00:24:41

rad bych zacal pouzivat nejakou sikovnou utilitku na tvorbu instalacek ...
dneska sem nainstaloval %subj% ale vzdycky mi v ruznou chvili ve wizardu
vznikne acces violation a konec .... setkal se s tim nekdo ?

nebo z vlastni zkusenosti doporucujete inno setup ? ja jenom ze nema wizard
myslim tak mi to pride na primitivni instalacky "zbytecny" se zas ucit jeho
zapis ...

Vlasta
ICQ: 265-226-027
[D7 Ent, WXPP.SP2]

pozadie listview

[*] Hubert <hubert(zv)pokec.sk> - 3.1.2005 20:04:23

hello,

chcem sa opytat ci by mi niekto neporadil ako dam obrazok do pozadia listview


hubert
---------------------
ICQ: 331726782
hubert(zv)pokec.sk
---------------------

popis sporice obrazovky

[*] Ivan Dulgerov <idulgerov(zv)stonline.sk> - 3.1.2005 16:42:09

Zdravim

>> *Je to free aj so zdrojakom.
>>
>> *Snad z toho nieco vykoumas :-)
>>
> Huh,
> kdyby nas bylo vice zajemcu, povoli to admin poslat i do konference ??
*Tak som to hodil na web :-)
*Link :
http://web.stonline.sk/smware/SCR.zip

S pozdravom

Ivan Dulgerov
Delphi5 Prof+ SP1, Delphi 4 St, Win XP Porf. + SP1, Win98 SE
mail : idulgerov(zv)hotmail.com


popis sporice obrazovky

[*] l. vlcek <l.vlcek(zv)noel-plus(tec)cz> - 3.1.2005 16:34:08

Ivan Dulgerov napsal(a):
> Zdravim
>
>>ma to vadu - nefunguje to ...
>
> *Na setrice som kedysi pouzival utils "ScrSav".
> *Neviem, kde to teraz momentalne rastie, ale ak chces,
> * poslem ti to na sukromny mail. (ma to len 35kb)
> *Je to free aj so zdrojakom.
>
> *Snad z toho nieco vykoumas :-)
>
Huh,
kdyby nas bylo vice zajemcu, povoli to admin poslat i do konference ??

--
L.V.
jezevec

popis sporice obrazovky

[*] Ivan Dulgerov <idulgerov(zv)stonline.sk> - 3.1.2005 16:24:08

Zdravim

> nekde sem vylovil jak realizovat popis sporice a to nasledovne:
> {$D SCRNSAVE NAZEV}
> kde za NAZEV dosadime ten popis ktery se ma zobrazit v dialogu -Vlastnosti
> zobrazeni- v tom comboboxu .... a pridame ten kod do zdrojaku DPR ...
> jenze
> ma to vadu - nefunguje to ...
*Na setrice som kedysi pouzival utils "ScrSav".
*Neviem, kde to teraz momentalne rastie, ale ak chces,
* poslem ti to na sukromny mail. (ma to len 35kb)
*Je to free aj so zdrojakom.

*Snad z toho nieco vykoumas :-)

S pozdravom

Ivan Dulgerov
Delphi5 Prof+ SP1, Delphi 4 St, Win XP Porf. + SP1, Win98 SE
mail : idulgerov(zv)hotmail.com


Jak zjistit zda mohu do adresare zapisovat

[*] Milan Tomes <delphi(zv)haida(tec)cz> - 3.1.2005 15:50:05

Ano to je jedna z moznosti, ale ja osobne pokladam za lepsi zjistit toto z
pristupovych prav - plati samozrejme jen pro Win NT se systemem NTFS !!!

Mam udelanou sikovnou unitku, ktera toto dokaze cist :)))

S pozdravem

Milan Tomes

> [mailto:delphi-l-owner(zv)clexpert(tec)cz]On Behalf Of Jiri Baudys
> Sent: Monday, January 03, 2005 2:44 PM
>
> Osobne bych to prenechal na vyjimkach.
>
> Try
> .. pokus o cteni / zapis / zmenu
> Except
> Nejde to
> end
>
> Behalf Of Lstiburek Pavel
> Sent: Monday, January 03, 2005 2:34 PM
>
> Nevi nekdo jak zjistit zda mohu do adresare zapisovat (vytvaret, menit
> soubory).

Vyreseno: Objekt, ktery vyvolal vyjimku

[*] L?ikola Petr <developer(zv)efg(tec)cz> - 3.1.2005 15:40:04

Dekuji vsem za rady, pouzil jsem JclDebug a uz vim alespon v jakem formu a v jake funkci to zahuci.

Petr Sikola


> meno listu nelze, jelikoz TList nema pojmenovani.
> Ale podivej se na TApplicationEvents, OnException.
> Nam to pomahalo, ze jsme alespon nalezli form (pripadne
> i control), ktery to zpusobil.
>
> Slavek

Objekt, ktery vyvolal vyjimku

[*] Slavomir Skopalik <skopalik(zv)elektlabs(tec)cz> - 3.1.2005 15:28:03

meno listu nelze, jelikoz TList nema pojmenovani.
Ale podivej se na TApplicationEvents, OnException.
Nam to pomahalo, ze jsme alespon nalezli form (pripadne
i control), ktery to zpusobil.

Slavek

> Zdravim do konference,
> v odchceni vyjimky bych potreboval zjistit, ktery objekt
> vyvolal vyjimku. Konkretne se mi jedna o vyjimku List index
> out of bounds. Potreboval bych zjistit, jmeno listu, ktery
> vyjimku zpusobil. Prosim rady typu "osetri si manipulaci s
> kazdym listem" nepotrebuji, potrebuji to osetrit globalne...

odsazovani v outlooku

[*] David Kraina <dkx(zv)seznam(tec)cz> - 3.1.2005 15:18:02

Menu / Nastroje / Moznosti
Zalozka "Odesilani"
Tlacitko dole "Nastaveni prosteho textu"

> chci, aby outlook automaticky oznacil text, na ktery odpovidam, znakem >

odsazovani v outlooku

[*] Jiri Cincura <diskuze(zv)cincura(tec)net> - 3.1.2005 15:16:02

Jan Rizek wrote:
> Zdravim a omlouvam se za OT-cko,
>
> zalozil jsem si v praci novy emailovy ucet a pri odepisovani v Outlooku
> (Express) chci, aby outlook automaticky oznacil text, na ktery odpovidam,
> znakem >. Jednou jsem na to pouzil jakysi Patch, ale uz nevim, co to
> bylo.
>
> Neporadil by nekdo? :-0
>
> JR

Outlook (Express) Quote Fix

--
Jiri Cincura
http://www.cincura.net/
http://ID3renamer.cincura.net/
ICQ#: 314711544
http://photo.cincura.net/
http://phorum.cincura.net/
http://x2develop.com/

Objekt, ktery vyvolal vyjimku

[*] Jan Rizek <jan_rizek(zv)centrum(tec)cz> - 3.1.2005 15:14:01

CTRL+F3 - CallStack

nebo si muzes tenhle CallStack zjistit pomoci JCL -objekt ovsem asi
nezjistis..

JCL:

var
s: TJclStackInfoList;
begin
..
S:= JclCreateStackList(true, 0, nil);
----- Original Message -----
From: "L?ikola Petr" <developer(zv)efg(tec)cz>
To: <delphi-l(zv)clexpert(tec)cz>
Sent: Monday, January 03, 2005 8:57 AM
Subject: Objekt, ktery vyvolal vyjimku


> Zdravim do konference,
> v odchceni vyjimky bych potreboval zjistit, ktery objekt vyvolal vyjimku.
> Konkretne se mi jedna o vyjimku List index out of bounds. Potreboval bych
> zjistit, jmeno listu, ktery vyjimku zpusobil. Prosim rady typu "osetri si
> manipulaci s kazdym listem" nepotrebuji, potrebuji to osetrit globalne...
>
> v soucasne dobe to mam takto:
>
> try
> ....
> ....docela vekly kus kodu
> .....
> except
> on e: exception do
> begin
> loguj(e.message);
> //tady bych potreboval spacialne pro "list index out of bounds" zjistit ne
> kterem listu to pada
> end
> end
>
> Dekuji za rady.
> petr Sikola
>
>
>

OT: odsazovani v outlooku

[*] Jan Rizek <jan_rizek(zv)centrum(tec)cz> - 3.1.2005 15:12:01

Zdravim a omlouvam se za OT-cko,

zalozil jsem si v praci novy emailovy ucet a pri odepisovani v Outlooku
(Express) chci, aby outlook automaticky oznacil text, na ktery odpovidam,
znakem >. Jednou jsem na to pouzil jakysi Patch, ale uz nevim, co to bylo.

Neporadil by nekdo? :-0

JR

Jak zjistit zda mohu do adresare zapisovat

[*] Jiri Baudys <konference(zv)baudys.name> - 3.1.2005 14:43:59

Osobne bych to prenechal na vyjimkach.

Try
.. pokus o cteni / zapis / zmenu
Except
Nejde to
end

Prijde mi to praktictejsi, nez se pokouset zjistovat stav a pak resit jeste
nejake nestandardy.

jirka

-----Original Message-----
From: delphi-l-owner(zv)clexpert(tec)cz [mailto:delphi-l-owner(zv)clexpert(tec)cz] On
Behalf Of Lstiburek Pavel
Sent: Monday, January 03, 2005 2:34 PM
To: delphi-l(zv)clexpert(tec)cz
Subject: Jak zjistit zda mohu do adresare zapisovat

Nevi nekdo jak zjistit zda mohu do adresare zapisovat (vytvaret, menit
soubory).

Dky Pavel

Jak zjistit zda mohu do adresare zapisovat

[*] Lstiburek Pavel <lstiburek(zv)ceb(tec)cz> - 3.1.2005 14:33:58

Nevi nekdo jak zjistit zda mohu do adresare zapisovat (vytvaret, menit soubory).

Dky Pavel

popis sporice obrazovky

[*] Jiri Baudys <konference(zv)baudys.name> - 3.1.2005 11:45:46

DD,
reseni bohuzel neznam ... taky jsem to resil a k nicemu nedosel (pojmenoval
exe) :-(.
Spoustu uzitecnych drobnosti jsem nasel na
http://www.pcsvet(tec)cz/art/article.php?id=3544

jirka

-----Original Message-----
From: Vlastimil Burian
Subject: popis sporice obrazovky

nekde sem vylovil jak realizovat popis sporice a to nasledovne:
{$D SCRNSAVE NAZEV}
kde za NAZEV dosadime ten popis ktery se ma zobrazit v dialogu -Vlastnosti
zobrazeni- v tom comboboxu .... a pridame ten kod do zdrojaku DPR ... jenze
ma to vadu - nefunguje to ...

opomenul jsem neco pripadne vi nekdo jak na to ???

Burian [D7 Ent, WXPP.SP2]

Objekt, ktery vyvolal vyjimku

[*] Karel Kral <kralkonf(zv)purus(tec)cz> - 3.1.2005 10:21:40

Pro to je idealni pouzit vypis zasobniku ve chvili vyjimky. Viz JCL,
myslim, ze je to ExceptDialog - uz se o tom zde psalo.

Objekt, ktery vyvolal vyjimku nezjistis ale vypis zasobniku je to
nejlepsi, co muzes dostat.

L?ikola Petr napsal(a):
> Zdravim do konference,
> v odchceni vyjimky bych potreboval zjistit, ktery objekt vyvolal vyjimku. Konkretne se mi jedna o vyjimku List index out of bounds. Potreboval bych zjistit, jmeno listu, ktery vyjimku zpusobil. Prosim rady typu "osetri si manipulaci s kazdym listem" nepotrebuji, potrebuji to osetrit globalne...
>
> v soucasne dobe to mam takto:
>
> try
> .....
> ....docela vekly kus kodu
> .....
> except
> on e: exception do
> begin
> loguj(e.message);
> //tady bych potreboval spacialne pro "list index out of bounds" zjistit ne kterem listu to pada
> end
> end
>
> Dekuji za rady.
> petr Sikola
>
>
>
>
>

--
______________________________________________________
Karel Kral, vedouci odd. IT / IT manager
Purus, s.r.o., Cezavy 627, 664 56 Blucina, CZ
Tel: 547 235 000, 602 552 432, Fax: 547 231 203
E-Mail: mailto:kral(zv)purus(tec)cz, WWW: http://www.purus(tec)cz
______________________________________________________


Objekt, ktery vyvolal vyjimku

[*] L?ikola Petr <developer(zv)efg(tec)cz> - 3.1.2005 08:57:34

Zdravim do konference,
v odchceni vyjimky bych potreboval zjistit, ktery objekt vyvolal vyjimku. Konkretne se mi jedna o vyjimku List index out of bounds. Potreboval bych zjistit, jmeno listu, ktery vyjimku zpusobil. Prosim rady typu "osetri si manipulaci s kazdym listem" nepotrebuji, potrebuji to osetrit globalne...

v soucasne dobe to mam takto:

try
.....
....docela vekly kus kodu
.....
except
on e: exception do
begin
loguj(e.message);
//tady bych potreboval spacialne pro "list index out of bounds" zjistit ne kterem listu to pada
end
end

Dekuji za rady.
petr Sikola

popis sporice obrazovky

[*] Vlastimil Burian <vlastax.b(zv)seznam(tec)cz> - 3.1.2005 02:11:05

nekde sem vylovil jak realizovat popis sporice a to nasledovne:
{$D SCRNSAVE NAZEV}
kde za NAZEV dosadime ten popis ktery se ma zobrazit v dialogu -Vlastnosti
zobrazeni- v tom comboboxu .... a pridame ten kod do zdrojaku DPR ... jenze
ma to vadu - nefunguje to ...

opomenul jsem neco pripadne vi nekdo jak na to ???

Burian [D7 Ent, WXPP.SP2]

Jak reagovat na udalosti ve smycce

[*] Karel Kral <kralkonf(zv)purus(tec)cz> - 2.1.2005 23:40:04

Hmm, mohl by sis ten muj mail alespon precist. Jde o instalator z JCL,
ne z DEMOS! Dela presne to, co potrebujes. Jen se podivat. Ale z nize
napsaneho tebou soudim, ze nema cenu dal radit. Jdes na to zcela blbe.

http://sourceforge.net/project/showfiles.php?group_id=47514

Pavel ! napsal(a):
> Ahoj,
> a kde bych nasel zdroj na ten instalator v \DELPHI6\DEMO . Nikde neni.
>
> Nevim jesli by to vyresil .upload to jestejne jako .reflas a ..repaint
> ale neresi tak nejak muj problem. Ja potrebuji, aby v prubehu nejake
> smycky sel zastavit (pri klepnutni na button). Takze to resim pres
> TThread (nikdy jsem z tim jeste nepotkal a cetl jsem tak jeden clanek o
> tom),ale vsechno funguje jak ma. K zastaveni pouzivam funkci ..Suspend (i
> kdyz to nebude to prave orechove). Protoze .terminate nefungovala. (o
> pouziti ani nemluvim .free -> to docela "nerozdejchal") taky nevim, jak
> je velky hrich nepuzit synchonizaci, ale primo do procedury EXECUTE
> vpalit pr: "form1.progresbar.postion := XX;"
> Nevite kde bych se docetl neco o TThread;
>
>
>
>
>
>

--
______________________________________________________
Karel Kral, vedouci odd. IT / IT manager
Purus, s.r.o., Cezavy 627, 664 56 Blucina, CZ
Tel: 547 235 000, 602 552 432, Fax: 547 231 203
E-Mail: mailto:kral(zv)purus(tec)cz, WWW: http://www.purus(tec)cz
______________________________________________________


jednoduche pouziti vlakna

[*] Jiri Cincura <diskuze(zv)cincura(tec)net> - 2.1.2005 22:39:41

Vlastimil Burian wrote:
> zdravim konferenci v novem roce
> dosud jsem se vyhybal technice vlaken coz bylo chybou nicmene ted bych
> potreboval maly start ...
>
> procedure .......
> begin
> ..commands..
> narocny nekolikaminutovy vypocet
> ..commands..
> end;

Toto nebude uplne spravny postup. Mame udalostmi rizene programovani. Proto ty prikazy co jsou po vypoctu dat do nejakyho eventu,
ktery se provede po vypoctu.

Vhodne na to je treba OnTerminate toho threadu. Takze nejak takhle (jinak ten Sender ve spojeni s operatorem as je da dobre vyuzit
na to, ktery thread to treba je, kdyz mas nekolik podobnych):

procedure MojeProc(Sender: TObject)
begin
//a tady ten zbytek
end;

procedure
begin
commands;
TMujThread.Create(parametry).OnTerminate := MojeProc
end;

--
Jiri Cincura
http://www.cincura.net/
http://ID3renamer.cincura.net/
ICQ#: 314711544
http://photo.cincura.net/
http://phorum.cincura.net/
http://x2develop.com/

jednoduche pouziti vlakna

[*] Vlastimil Burian <vlastax.b(zv)seznam(tec)cz> - 2.1.2005 22:13:38

zdravim konferenci v novem roce
dosud jsem se vyhybal technice vlaken coz bylo chybou nicmene ted bych
potreboval maly start ...

procedure .......
begin
..commands..
narocny nekolikaminutovy vypocet
..commands..
end;

jak co nejjednoduseji zprovoznit vlakno pro ten vypocet ? ... efektem bude
predpokladam zivost aplikace navenek i bez pouziti processmessages, jinak
prikazy ktere nasleduji za tim vypoctem chci provest fakt az po tom vypoctu
...

diky Burian

Jak reagovat na udalosti ve smycce

[*] Pavel ! <paullb(zv)seznam(tec)cz> - 2.1.2005 21:31:34

Ahoj,
a kde bych nasel zdroj na ten instalator v \DELPHI6\DEMO . Nikde neni.

Nevim jesli by to vyresil .upload to jestejne jako .reflas a ..repaint
ale neresi tak nejak muj problem. Ja potrebuji, aby v prubehu nejake
smycky sel zastavit (pri klepnutni na button). Takze to resim pres
TThread (nikdy jsem z tim jeste nepotkal a cetl jsem tak jeden clanek o
tom),ale vsechno funguje jak ma. K zastaveni pouzivam funkci ..Suspend (i
kdyz to nebude to prave orechove). Protoze .terminate nefungovala. (o
pouziti ani nemluvim .free -> to docela "nerozdejchal") taky nevim, jak
je velky hrich nepuzit synchonizaci, ale primo do procedury EXECUTE
vpalit pr: "form1.progresbar.postion := XX;"
Nevite kde bych se docetl neco o TThread;

Jak reagovat na udalosti ve smycce

[*] Karel Kral <kralkonf(zv)purus(tec)cz> - 2.1.2005 19:29:07

Podivej se na instalator z JCL, tam je to, co potrebujes. Otevre modalni
okno, nastartuje separatni thread pro kompilaci (u tebe pro kopirovani)
a z tohoto threadu aktualizuje modalni okno. Tlacitko Abort je tam
take... Podle tohoto vzoru jsem uz udelal aplikaci a funguje to ok.

Pavel ! napsal(a):
> Ahoj,
>
>
> Chtel jsem se zeptat mam obycejnou smycku z kde postupne vypisuji
> "kopiruji" znaky z jedno FileStream do druheho. Celkovy stav ..Count z
> (FileStream) zobrazuju na progressBaru k samozrejme, ze k tomu musim
> uzit ProcesMessage. Takze z oknem jde hybat. Ale pak na okne je jeste
> tlacitko "STORNO", tam jsem dal kuprikladu zastav := true; a ve smycce
> se tento stav kontroluje. Pomoci IF, ale nereaguje to. Nedavno jsem cetl
> neco o vlaknech a mozna by to mohlo resit tuto situaci. Mozna taky ne.
> Jeste k vlaknum: lze nastavit tak, aby bezela jenom jedna relace.
>
> Diky
>

Jak reagovat na udalosti ve smycce

[*] Bauglir <konference(zv)xhtmlweb(tec)com> - 2.1.2005 18:08:35

> Chtel jsem se zeptat mam obycejnou smycku z kde postupne vypisuji
> "kopiruji" znaky z jedno FileStream do druheho. Celkovy stav ..Count z
> (FileStream) zobrazuju na progressBaru k samozrejme, ze k tomu musim
> uzit ProcesMessage. Takze z oknem jde hybat. Ale pak na okne je jeste
> tlacitko "STORNO", tam jsem dal kuprikladu zastav := true; a ve smycce
> se tento stav kontroluje. Pomoci IF, ale nereaguje to. Nedavno jsem cetl
> neco o vlaknech a mozna by to mohlo resit tuto situaci. Mozna taky ne.
> Jeste k vlaknum: lze nastavit tak, aby bezela jenom jedna relace.

1/ Nejlepsi by bylo samozrejme kopirovani presunout do separatniho
threadu a prekreslovani resit v threadu hlavnim pomoci synchronizace
nebo messages.
2/ Toto je nejlepsi si ohlidat sam, nebo si napis nejaky pool, do
ktereho budes predavat pozadavky na zpracovani threadu a ktery se bude
sam starat o spousteni pouze jedne instance threadu a razeni pozadavku
do fronty.


Brona


--
s pozdravem
Bronislav Klucka


----------=[ pro2-soft.com ]=----------
http://pro2-soft.com
Bronislav.Klucka(zv)pro2-soft.com
+420 605 58 29 22

* webove aplikace
* software na zakazku
---------------------------------------

Jak reagovat na udalosti ve smycce

[*] Martin Burle <mburle2(zv)volny(tec)cz> - 2.1.2005 10:32:42

> (FileStream) zobrazuju na progressBaru k samozrejme, ze k tomu musim
> uzit ProcesMessage. Takze z oknem jde hybat. Ale pak na okne je jeste

Ahoj, nedavno jsem resil neco podobneho (neslo o progressbar, ale o
statusbar) a nekdo v konfere me nakopnul, ze k prekresleni neni nutne volat
processmessages, ale postaci update - hadam tedy, ze progresbar.update by
mel vyresit i tvuj problem :)

MB


Jak reagovat na udalosti ve smycce

[*] David Kraina <dkx(zv)seznam(tec)cz> - 1.1.2005 10:19:19

myslim, ze by nemuselo byt spatne spustit ve vlakne tu proceduru kopirovani
a progress resit v hlavnim vlakne aplikace pres globalni promenne.

TThread / BeginThread

>"kopiruji" znaky z jedno FileStream do druheho. Celkovy stav ..
>neco o vlaknech a mozna by to mohlo resit tuto situaci.

Jak reagovat na udalosti ve smycce

[*] Pavel ! <paullb(zv)seznam(tec)cz> - 1.1.2005 04:36:03

Ahoj,


Chtel jsem se zeptat mam obycejnou smycku z kde postupne vypisuji
"kopiruji" znaky z jedno FileStream do druheho. Celkovy stav ..Count z
(FileStream) zobrazuju na progressBaru k samozrejme, ze k tomu musim
uzit ProcesMessage. Takze z oknem jde hybat. Ale pak na okne je jeste
tlacitko "STORNO", tam jsem dal kuprikladu zastav := true; a ve smycce
se tento stav kontroluje. Pomoci IF, ale nereaguje to. Nedavno jsem cetl
neco o vlaknech a mozna by to mohlo resit tuto situaci. Mozna taky ne.
Jeste k vlaknum: lze nastavit tak, aby bezela jenom jedna relace.

Diky

p.

-----Original Message-----
From: delphi-l-owner(zv)clexpert(tec)cz [mailto:delphi-l-owner(zv)clexpert(tec)cz] On
Behalf Of tondrej(zv)t-online.de
Sent: Friday, December 31, 2004 11:22 AM
To: delphi-l(zv)clexpert(tec)cz
Subject: Re: Java-ANT-CVS vs. DELPHI-???-???

> pri praci v Jave (at uz na Linuxu nebo na Windows) mi docela dost
> pomahal nastroj ANT a jeho XML skripty - bohuzel se pro nejakou
> rizenou kompilaci pro Delphi vyuzit neda. Nemate nekdo nejake
> zkusenosti s podobnym skriptovym nastrojem pro Delphi, ktery by
> umel spolupracovat s CVS?

Skus WANT, je odvodeny z ANT a je s nim (podla autora) "fairly
compatible" ;-)
http://www.suigeneris.org/kb/display/WAnt/Home

HTH
TOndrej

mySQL a kodovani cestiny

[*] spravce(zv)dh-soft(tec)cz - 30.6.2005 21:37:52

Vivat - funguje to ....... umim cesky (s hackama) :-)

Chvalim te dnem i noci. Moc dik.


D.

-----Original Message-----
From: delphi-l-owner(zv)clexpert(tec)cz [mailto:delphi-l-owner(zv)clexpert(tec)cz] On
Behalf Of Vaclav Halik
Sent: Wednesday, June 29, 2005 2:47 PM
To: delphi-l(zv)clexpert(tec)cz
Subject: Re: mySQL a kodovani cestiny

Zdravim,

>Hlavne se jedna o:
>
>e,s,c . s hackama, jak to donutim spravne zobrazovat (pripadne zapisovat).
>
>
takze chlape zrovna minuly tyden sem se tim tady s kolegou trapil
cca. dva dny. Takze si dovolim tvrdit, ze ti muzu presne rict kde
je chyba. Tedy:

1. Nestudoval jsi dostatecne dokumentci, ja teke ne :-)

2. Je potreba, aby jsi mnel jak tabulky, tak DB nastaveno
na cp1250.

3. U kazde textove a varchar polozky musis mit nastaveno
cp1250, nebot tato verze umi v ramci jedne tabulky vest treba
dvacet ruznych kodovani, tedy klidne muzes mit v tabulce jak
arabstinu tak cinstinu nebo cestinu a to zaroven !!!.

4. Nejdulezitejsi bod:::
Od verze tusim 4.1 pouziva MySQL mnohem vice parametru
pro nastaveni komunikace, atd.. Jsou zde navic tzv. Globalni
a Session variables. Tobe bude stacit nastavit Session variables.

Trik je v tom, ze pokud se pripojis treba z delphi, ale jinak
obecne z jakekoliv aplikace (testovano i s PHP), udela se
konexe na server, a je potreba nastavit takove parametry
pro tuto konexi aby probehla v pozadovanem charsetu.
Tedy ihned po pripojeni musis jako prvni vec poslat nastaveni
charsetu v jakych chces komunikovat. Toto musis udelat pro
kazdou novou nebo dalsi konexi. Tedy ne pro selekty ale jen
pro vlastni konexe.

Uspesne mame vyzkouseno toto:

SET character_set_client=cp1250;
SET character_set_connection=cp1250;
SET character_set_database=cp1250;
SET character_set_results=cp1250;
SET character_set_server=cp1250;

SET collation_connection=cp1250_czech_cs;
SET collation_database=cp1250_czech_cs;
SET collation_server=cp1250_czech_cs;

Tak a to je asi vse. Doufam ze sem to napsal dost
srozumitelne. Dej vedet jak to dopadlo.

S pozdravem Vaclav Halik

PS: Vse ostatni je popsano v manualu.

Format dat

[*] Jiri Cincura <diskuze(zv)cincura(tec)net> - 30.6.2005 16:13:30

Slavomir Skopalik wrote (on Thursday, June 30, 2005 3:59 PM):
> Ne Firebird to neni ani omylem. Takle FB souvor nezacina.
>
> Slavek
>
>>> FDB:  OkruhID ... Nazev D ... OboryID .........
>>
>> Podle toho FDB uvntr by to mohl byt Firebird, ale nevim proc by to
>> bylo ve 3 souborech.

No ja vim, ze ne. Ale rikal jsem, ze kdyz jsou to 3 soubory, ze to mozna je
neco FB special.

OK, jsem mimo.

--
Jiri Cincura
http://www.ID3renamer.com/
ICQ: 314711544; Yahoo!: x2develop
http://photo.cincura.net/

Format dat

[*] Ing. Marek Kocan <kocan(zv)ebchod(tec)cz> - 30.6.2005 16:03:29

Cau,
nejsem si jist, ale kdysi jsem neco podobneho videl,
FileExpress?? Jednoducha desktopova "databaze", pod dosem.
Ale nazvem si opravdu uz nejsem jist. Je take ovsem mozne,
ze je to zcela neco jineho:(

--KER


> Ahoj,
>
> nevite jaka databaze uklada data do tri souboru s
priponama:
>
> .d
> .f
> .x
>

Format dat

[*] Slavomir Skopalik <skopalik(zv)elektlabs(tec)cz> - 30.6.2005 15:59:29

Ne Firebird to neni ani omylem. Takle FB souvor nezacina.

Slavek

> > FDB:  OkruhID ... Nazev D ... OboryID ........
>
> Podle toho FDB uvntr by to mohl byt Firebird, ale nevim proc
> by to bylo ve 3 souborech.

Format dat

[*] Jiri Cincura <diskuze(zv)cincura(tec)net> - 30.6.2005 15:17:26

Lukas Barton wrote (on Thursday, June 30, 2005 1:37 PM):
> Ahoj,
>
> nevite jaka databaze uklada data do tri souboru s priponama:
>
> .d
> .f
> .x
>
>
> V souboru .f je asi toto:
>
> FDB:  OkruhID ... Nazev D ... OboryID .......
>
> V souboru .d jsou ocividne data
>
> V souboru x je asi index.
>
> Diky,
>
> Lukas

Podle toho FDB uvntr by to mohl byt Firebird, ale nevim proc by to bylo ve 3
souborech.

--
Jiri Cincura
http://www.ID3renamer.com/
ICQ: 314711544; Yahoo!: x2develop
http://photo.cincura.net/

OT: Format dat

[*] Lukas Barton <lukas(zv)cnawr(tec)cz> - 30.6.2005 13:37:18

Ahoj,

nevite jaka databaze uklada data do tri souboru s priponama:

.d
.f
.x


V souboru .f je asi toto:

FDB:�  OkruhID ... Nazev D ... OboryID ......

V souboru .d jsou ocividne data

V souboru x je asi index.

Diky,

Lukas

© Delphi.cz, program netcode.cz, 2008-9.