Archív konference Delphi

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

zeos a d2007

[*] Petr BRABEC <delphi(zv)elra(tec)cz> - 02.7.2008 10:37:51

Otevru ZeosDbo a necham zkompilovat.
Pak dam install ZComponent a skonci chybou
Package can't be installed it is not a design time package.
V detailech je toto:

[2165D0F5]{delphicoreide100.bpl} PasCppPakMgr.TIDEDesignPackage.Load (Line
833, "PasCppPakMgr.pas" + 8) + $24
[20054037]{rtl100.bpl } Registry.TRegistry.GetKey (Line 654,
"common\Registry.pas" + 5) + $1D
[2005404C]{rtl100.bpl } Registry.TRegistry.GetKey (Line 655,
"common\Registry.pas" + 6) + $10
[20034BA1]{rtl100.bpl } Classes.TStrings.GetStrictDelimiter (Line 4849,
"common\Classes.pas" + 2) + $4
[200353DB]{rtl100.bpl } Classes.TStringList.SetUpdateState (Line 5171,
"common\Classes.pas" + 0) + $F
[200338AD]{rtl100.bpl } Classes.TStrings.EndUpdate (Line 4352,
"common\Classes.pas" + 1) + $A
[20034AFF]{rtl100.bpl } Classes.TStrings.SetDelimitedText (Line 4821,
"common\Classes.pas" + 57) + $3
[20034B1C]{rtl100.bpl } Classes.TStrings.SetDelimitedText (Line 4823,
"common\Classes.pas" + 59) + $10
[20003DC4]{rtl100.bpl } System.(zv)FreeMem (Line 2699, "sys\system.pas" + 2) +
$0
[20007A19]{rtl100.bpl } System.(zv)LStrArrayClr (Line 12266, "sys\system.pas"
+ 16) + $0
[2165E70D]{delphicoreide100.bpl} PasCppPakMgr.TProfileData.LoadPackageCache
(Line 1450, "PasCppPakMgr.pas" + 119) + $2D
[20006BA9]{rtl100.bpl } System.(zv)AfterConstruction (Line 9520,
"sys\system.pas" + 2) + $5
[2165CE9D]{delphicoreide100.bpl} PasCppPakMgr.TIDEDesignPackage.DelayLoad
(Line 749, "PasCppPakMgr.pas" + 11) + $4
[2166F6D8]{delphicoreide100.bpl} PakList.TPackageListItem.LoadWait (Line
789, "PakList.pas" + 3) + $4
[2166F65C]{delphicoreide100.bpl} PakList.TPackageListItem.LoadDesignPackage
(Line 767, "PakList.pas" + 15) + $5
[2166EC67]{delphicoreide100.bpl} PakList.TPackageListItem.SetIsInstalled
(Line 533, "PakList.pas" + 7) + $3
[2166ECA1]{delphicoreide100.bpl} PakList.TPackageListItem.SetIsInstalled
(Line 540, "PakList.pas" + 14) + $5
[2166EA3B]{delphicoreide100.bpl} PakList.TPackageList.AddPackage (Line 447,
"PakList.pas" + 13) + $5
[2167A35A]{delphicoreide100.bpl}
BasePasProjOpts.TProjOptsManager.InstallPackage (Line 2170,
"BasePasProjOpts.pas" + 8) + $5
[2167E067]{delphicoreide100.bpl}
BasePasProjOpts.TProjectOptions.InstallPackage (Line 3175,
"BasePasProjOpts.pas" + 0) + $3
[216A2BF5]{delphicoreide100.bpl}
PasMgr.TPascalPackageCodeUpdater.InstallPackage (Line 11092, "PasMgr.pas" +
17) + $19
[216699E5]{delphicoreide100.bpl}
PkgContainers.TStdPackageProjectContainer.CommandHandler (Line 151,
"PkgContainers.pas" + 5) + $5
[209F21A5]{coreide100.bpl} Containers.TStdContainer.CommandHandler (Line
3069, "Containers.pas" + 1) + $17
[201305B3]{vcl100.bpl } Menus.TMenuItem.Click (Line 2282, "Menus.pas" + 14)
+ $8
[20131ADB]{vcl100.bpl } Menus.TMenu.DispatchCommand (Line 3007, "Menus.pas"
+ 5) + $2
[20132C3A]{vcl100.bpl } Menus.TPopupList.WndProc (Line 3797, "Menus.pas" +
4) + $E
[20031FC4]{rtl100.bpl } Classes.TThreadList.UnlockList (Line 3359,
"common\Classes.pas" + 0) + $4
[200EBAA8]{vcl100.bpl } Graphics.FreeMemoryContexts (Line 5060,
"Graphics.pas" + 12) + $5
[2013FD9C]{vcl100.bpl } Controls.TWinControl.MainWndProc (Line 7073,
"Controls.pas" + 3) + $6
[20132B89]{vcl100.bpl } Menus.TPopupList.MainWndProc (Line 3778,
"Menus.pas" + 2) + $5
[20040DD4]{rtl100.bpl } Classes.StdWndProc (Line 11583,
"common\Classes.pas" + 8) + $0
[201625D0]{vcl100.bpl } Forms.TApplication.ProcessMessage (Line 8105,
"Forms.pas" + 23) + $1
[2016260A]{vcl100.bpl } Forms.TApplication.HandleMessage (Line 8124,
"Forms.pas" + 1) + $4
[201628FF]{vcl100.bpl } Forms.TApplication.Run (Line 8223, "Forms.pas" +
20) + $3
[00422976]{bds.exe } bds.bds (Line 195, "" + 7) + $7

Z cehos nejsem moc moudry. Ted mam Zeos 6.2.2., ykusil jsem I predchozi
verye, ale je to to same.
Posledni Yeos komponenty ktere mi fungovaly byly 6.5.1 v D7, ty jsou super.

Predem dik za postrceni spravnym smerem

Petr

Zdravim,
jakou chybou, a co nejde ?
Vaclav Halik

PS: Tvuj popis problemu je dost fadni.


delphi(zv)elra(tec)cz napsal(a):
> Dobry den,
> je tu prosim nekdo komu se povedlo nainstalovat ZEOS komponenty do Delphi
2007?
> Pripadne vi nekdo jak na to? Dle velmi strucneho navodu mi to opravdu
nejde.
> Vzdy skonci chybou.
>
> Predem dik Petr

zeos a d2007

[*] Vaclav Halik <spravasd(zv)suz.cvut(tec)cz> - 02.7.2008 12:05:57

Zdravim,

1. Podle toho logu co jsi poslal to neni Delphi 2007 ale 2006.
> Otevru ZeosDbo a necham zkompilovat.
> Pak dam install ZComponent a skonci chybou
> Package can't be installed it is not a design time package.
> V detailech je toto:
>
> [2165D0F5]{delphicoreide100.bpl} PasCppPakMgr.TIDEDesignPackage.Load (Line
> 833, "PasCppPakMgr.pas" + 8) + $24
> [20054037]{rtl100.bpl } Registry.TRegistry.GetKey (Line 654,
> "common\Registry.pas" + 5) + $1D
2. Predpokladam ze instalujes spravne baliceky z adresare packages/delphi10.

Jinak pro upresneni:
Build > ZCore.bpl, ZPlain.bpl, ZparseSql.bpl, ZDbc.bpl
Build + Install > ZComponent.bpl

V poradi jak jsem je napsal. Posledni ti prida komponenty.

> Z cehos nejsem moc moudry. Ted mam Zeos 6.2.2., ykusil jsem I predchozi
> verye, ale je to to same.
> Posledni Yeos komponenty ktere mi fungovaly byly 6.5.1 v D7, ty jsou super
2. Verze co jsi napsal jsou priserne stare :-(. Pred nejakym rokem se zmenil
primarni zdroj pro kody na SVN. Takze tam najdes aktualni verze. Tym sice
sem tam vyda nejkou jakoze novou, ale na to bych se moc nespolehal.

Sam jedu na pomerne stare verzi a to mam revizi 84 (aktualni je 378).

Najdes na: svn://firmos.at/zeos/trunk
- potrebujes k tomu klienta pro SVN, doporucuju TortoiseSVN

S pozdravem Vaclav Halik

Fasreport - vynechani prazdnych radku sestavy

[*] Macko Martin <martin.macko(zv)m-pro(tec)cz> - 02.7.2008 12:35:59


>
> Mam band a na nem pod sebou, rekneme 4 stringove polozky
> (fieldy) z jednoho radku (zaznamu) tabulky databaze, pres
> celou sirku bandu. Velikost polozky memo (vysku textu), pokud
> v memu presahne dany text sirku sestavy a vytvori se vice
> radku, dokazu nastavit, ta se dynamicky meni a je to v poradku.
>
> Nastane-li situace, kdy je nektera polozka (field) prazdna,
> objevi se tento prazdny radek i na sestave. Ja bych
> predpokladal, ze se zbyle posunou vyse, pokud nestanovim
> jinak, aby nevznikl prazdny radek na sestave. To se nestane.
> Pokud si dany radek obarvim, je tam cely, po nastaveni strech
> mi zustane barevne pole na zacatku radku, velikosti cca
> mezery, cili porad tam neco je a polozky pod nim se neposunou.
> Kdyz cele memo v kodu reportu na zaklade podminky skryju,
> neposunou se zbyle radky (fieldy) na misto skryteho, takze je
> tam zase prazdny radek.

IMHO dost zvlastni pozadavek a nezda se mi, ze by nejaky generator sestav tohle umel uplne automaticky a standardne
detail band je tisteny pro jeden konkretni zaznam z tabulky
predstav si ho jako stitek na adresu - kdyz nebude vyplnene osloveni, nemuze se ti cely zbytek stitku posunout nahoru

ale mozna si to jenom spatne vysvetluju :-)

Fasreport - vynechani prazdnych radku sestavy

[*] Jan Naiser <tua(zv)wo(tec)cz> - 02.7.2008 13:24:06

> IMHO dost zvlastni pozadavek a nezda se mi, ze by nejaky generator sestav
> tohle umel uplne automaticky a standardne
> detail band je tisteny pro jeden konkretni zaznam z tabulky
> predstav si ho jako stitek na adresu - kdyz nebude vyplnene osloveni,
> nemuze se ti cely zbytek stitku posunout nahoru
>
> ale mozna si to jenom spatne vysvetluju :-)

V tomto pripade mas samozrejme pravdu a adresni stitky netisknu jinak. :-)

Ale pripad je ten, ze se jedna o dlouhe retezcove polozky v kazdem zaznamu.
Rekneme, ze jich je 5 v kazdem zaznamu. Seradim je pod sebe a odlisim
nastavenim fontu, oddelim kazdy zaznam na sestave, pro prehlednost. Pokud
dana polozka je v zaznamu prazdna, dostanu prazdny radek. Vzhledem k tomu,
ze 2 polozky zaznamu jsou doplnkove, jsou vetsinou prazdne. Rekneme, ze cca
80% zaznamu na sestave ma tedy 1 nebo 2 prazdne radky. A je tedy zadouci uz
jen z hlediska uspory papiru tato prazdna mista eliminovat, protoze napr.
pri 50 nebo 100 stranach sestavy se da uz nejaka ta strana usetrit.

Asi to opravdu jen nastavenim nektere vlastnosti sam report neumi, takze to
budu muset, vymyslet. :-)

Honza.

Fasreport - vynechani prazdnych radku sestavy

[*] Macko Martin <martin.macko(zv)m-pro(tec)cz> - 02.7.2008 13:34:07

>
> > IMHO dost zvlastni pozadavek a nezda se mi, ze by nejaky generator
> > sestav tohle umel uplne automaticky a standardne detail band je
> > tisteny pro jeden konkretni zaznam z tabulky predstav si ho jako
> > stitek na adresu - kdyz nebude vyplnene osloveni, nemuze se ti cely
> > zbytek stitku posunout nahoru
> >
> > ale mozna si to jenom spatne vysvetluju :-)
>
> V tomto pripade mas samozrejme pravdu a adresni stitky
> netisknu jinak. :-)
>
> Ale pripad je ten, ze se jedna o dlouhe retezcove polozky v
> kazdem zaznamu.
> Rekneme, ze jich je 5 v kazdem zaznamu. Seradim je pod sebe a
> odlisim nastavenim fontu, oddelim kazdy zaznam na sestave,
> pro prehlednost. Pokud dana polozka je v zaznamu prazdna,
> dostanu prazdny radek. Vzhledem k tomu, ze 2 polozky zaznamu
> jsou doplnkove, jsou vetsinou prazdne. Rekneme, ze cca 80%
> zaznamu na sestave ma tedy 1 nebo 2 prazdne radky. A je tedy
> zadouci uz jen z hlediska uspory papiru tato prazdna mista
> eliminovat, protoze napr.
> pri 50 nebo 100 stranach sestavy se da uz nejaka ta strana usetrit.
>
> Asi to opravdu jen nastavenim nektere vlastnosti sam report
> neumi, takze to budu muset, vymyslet. :-)

v tom pripade ti ani prosty subdetail nepomuze
nevim jak FastReport, ale QuickReport ma metodu OnNeedData - takze postavit report ne na datasource, ale na tyhle metode
jedno OnNeedData - v detailbandu - bude pro vytazeni radku ze sestavy
druhy OnNeedData bude - pro subdetail - bude ti tahat data z jednotlivych polozek rekordu - muze i nastavovat fonty a ramecky jak potrebujes
a holt kdyz bude polozka prazdna, nabidnes dalsi polozku ze zaznamu ...

Fasreport - vynechani prazdnych radku sestavy

[*] Roman <sw.maurice(zv)seznam(tec)cz> - 02.7.2008 13:58:10

Ahoj,
nesledoval jsem celou diskuzi od zacatku, ale v tomto pripade bych dal
policka do child bandu, zavesene pod masterdata (o vysce asi 0px) a skryval
v beforeprint podle potreby cely child. Anebo zkus vlozit policka pres sebe
a nastavt shift whenoverlaped (tzn. prazdne by se teoreticky nemely
posouvat), celemu bandu pak stretched na true.

Roman

> Ale pripad je ten, ze se jedna o dlouhe retezcove polozky v kazdem
> zaznamu.
> Rekneme, ze jich je 5 v kazdem zaznamu. Seradim je pod sebe a odlisim
> nastavenim fontu, oddelim kazdy zaznam na sestave, pro prehlednost. Pokud
> dana polozka je v zaznamu prazdna, dostanu prazdny radek. Vzhledem k tomu,
> ze 2 polozky zaznamu jsou doplnkove, jsou vetsinou prazdne. Rekneme, ze
> cca
> 80% zaznamu na sestave ma tedy 1 nebo 2 prazdne radky. A je tedy zadouci
> uz
> jen z hlediska uspory papiru tato prazdna mista eliminovat, protoze napr.
> pri 50 nebo 100 stranach sestavy se da uz nejaka ta strana usetrit.
>
> Asi to opravdu jen nastavenim nektere vlastnosti sam report neumi, takze
> to
> budu muset, vymyslet. :-)

Fasreport - vynechani prazdnych radku sestavy

[*] Jan Naiser <tua(zv)wo(tec)cz> - 02.7.2008 15:54:20



> Ahoj,
> nesledoval jsem celou diskuzi od zacatku, ale v tomto pripade bych dal
> policka do child bandu, zavesene pod masterdata (o vysce asi 0px) a
> skryval
> v beforeprint podle potreby cely child. Anebo zkus vlozit policka pres
> sebe
> a nastavt shift whenoverlaped (tzn. prazdne by se teoreticky nemely
> posouvat), celemu bandu pak stretched na true.

Ano, nakonec jsem to vytvoril zavesenim nekolika childu pod sebe, kde kazdy
ma samostatne 1 polozku a nastavovanim jejich visible na hodnotu podle
existence dat v polozkach a funguje to, jak ma.
Diky, vsem.

Honza.

zeos a d2007

[*] delphi(zv)elra(tec)cz - 02.7.2008 20:40:45

Tomuto nerozumim, mate li na mysli Component -> Install Packages ... tak ano udela se mi tam skupina, ale je bez komponent a je zaskrtnuta.> Jeste jsem zapomnel:
>
> - Mas balicek ZeosDBO v Packages a je aktivovany, pripadne pokud tam je
> jde aktivovat ?
>
>
> Vaclav Halik
>
>
>
>

zeos a d2007

[*] delphi(zv)elra(tec)cz - 02.7.2008 20:36:45

Jo je tam cesta k D7 BPL, to jsem vyhodil, je to lepsi,
nevyskoci tam tolik chyb, ale stejne to nejde.

Pokud dam install na ZComponentDesign, napise , ze OK, mam skupinu, ale nemam v ni zadne komponenty.> Zdravim
> > 2. instaluji spravne balicky verze 11 (ale ani verze 10 nejde
> nainstalovat)
> > 3. Build udelam, probehne bez potizi, potom install jednotlivych balicku,
> > vzdy chyba, jen ten posledni se nainstaluje ale nemam tam zadne
> komponenty.
> >
> instalovat se ma jenom posledni balicek, jinak vse bulid. Pokud toto jak
> pises je v poradku pak
> se ti zrejme perou cesty. Proved nasledujici kroky:
>
> - over zda v cestach v Delphi 2007 mas adresare z ZeosDBO/src.
> Ja mam jak v Library tak v Browsing ZeosDBO/src a vsechny podslozky,
> zrejme tam nemusi byt vsechny.
>
> - Zjisti kde se ti ukladaji po Buildu ta BPLka, mela by to byt cesta do
> ktere D7 nevidi
>
> - Zjisti co mas v PATH zda tam neni cesta k BPL z D7
>
> - Zjisti zda je mozne se ze by ti D7 pri buildu cehokoliv mohlo prepsat
> balicky z D2007
>
> - Nebyla na tom PC instalovana nejaka trab i zkusebni verze z D2006,
> Turbo, atd. Pripadne jaka ?
>
> Nevim jak je to ted (mam starsi verzi), ale u techto komponent je
> problem v tom,
> ze balicky nejsou cislovane, muze se tedy stavat, ze se prepisuji
> navzajem a to treba i krizove.
>
>
> Vaclav Halik
>
>
>
>

zeos a d2007

[*] Vaclav Halik <spravasd(zv)suz.cvut(tec)cz> - 02.7.2008 17:40:30

Jeste jsem zapomnel:

- Mas balicek ZeosDBO v Packages a je aktivovany, pripadne pokud tam je
jde aktivovat ?


Vaclav Halik

zeos a d2007

[*] Vaclav Halik <spravasd(zv)suz.cvut(tec)cz> - 02.7.2008 17:32:29

Zdravim
> 2. instaluji spravne balicky verze 11 (ale ani verze 10 nejde nainstalovat)
> 3. Build udelam, probehne bez potizi, potom install jednotlivych balicku,
> vzdy chyba, jen ten posledni se nainstaluje ale nemam tam zadne komponenty.
>
instalovat se ma jenom posledni balicek, jinak vse bulid. Pokud toto jak
pises je v poradku pak
se ti zrejme perou cesty. Proved nasledujici kroky:

- over zda v cestach v Delphi 2007 mas adresare z ZeosDBO/src.
Ja mam jak v Library tak v Browsing ZeosDBO/src a vsechny podslozky,
zrejme tam nemusi byt vsechny.

- Zjisti kde se ti ukladaji po Buildu ta BPLka, mela by to byt cesta do
ktere D7 nevidi

- Zjisti co mas v PATH zda tam neni cesta k BPL z D7

- Zjisti zda je mozne se ze by ti D7 pri buildu cehokoliv mohlo prepsat
balicky z D2007

- Nebyla na tom PC instalovana nejaka trab i zkusebni verze z D2006,
Turbo, atd. Pripadne jaka ?

Nevim jak je to ted (mam starsi verzi), ale u techto komponent je
problem v tom,
ze balicky nejsou cislovane, muze se tedy stavat, ze se prepisuji
navzajem a to treba i krizove.


Vaclav Halik

zeos a d2007

[*] Petr BRABEC <delphi(zv)elra(tec)cz> - 02.7.2008 16:06:22

Dobry den,
To mi tedy uniklo, ze to presunuly. Nicmene ani stazeni te posledni verze
nepomohlo.

Ale:
1. Je to Delphi 2007,
2. instaluji spravne balicky verze 11 (ale ani verze 10 nejde nainstalovat)
3. Build udelam, probehne bez potizi, potom install jednotlivych balicku,
vzdy chyba, jen ten posledni se nainstaluje ale nemam tam zadne komponenty.

Muze byt nejaky problem v tom, ze tam mam i D7 a k tomu ty Zeos comp v te
stare verzi? Podotykam, ze jsou v jinych adresarich, a v delphi jsou pridany
spravne cesty, takze by se to nemelo nikde michat.

Petr


Zdravim,

1. Podle toho logu co jsi poslal to neni Delphi 2007 ale 2006.
> Otevru ZeosDbo a necham zkompilovat.
> Pak dam install ZComponent a skonci chybou
> Package can't be installed it is not a design time package.
> V detailech je toto:
>
> [2165D0F5]{delphicoreide100.bpl} PasCppPakMgr.TIDEDesignPackage.Load (Line
> 833, "PasCppPakMgr.pas" + 8) + $24
> [20054037]{rtl100.bpl } Registry.TRegistry.GetKey (Line 654,
> "common\Registry.pas" + 5) + $1D
2. Predpokladam ze instalujes spravne baliceky z adresare packages/delphi10.

Jinak pro upresneni:
Build > ZCore.bpl, ZPlain.bpl, ZparseSql.bpl, ZDbc.bpl
Build + Install > ZComponent.bpl

V poradi jak jsem je napsal. Posledni ti prida komponenty.

> Z cehos nejsem moc moudry. Ted mam Zeos 6.2.2., ykusil jsem I predchozi
> verye, ale je to to same.
> Posledni Yeos komponenty ktere mi fungovaly byly 6.5.1 v D7, ty jsou super
2. Verze co jsi napsal jsou priserne stare :-(. Pred nejakym rokem se zmenil
primarni zdroj pro kody na SVN. Takze tam najdes aktualni verze. Tym sice
sem tam vyda nejkou jakoze novou, ale na to bych se moc nespolehal.

Sam jedu na pomerne stare verzi a to mam revizi 84 (aktualni je 378).

Najdes na: svn://firmos.at/zeos/trunk
- potrebujes k tomu klienta pro SVN, doporucuju TortoiseSVN

S pozdravem Vaclav Halik

OT: Nabidka zamestnani

[*] Martin Dietl <dietl(zv)4use(tec)cz> - 04.7.2008 14:09:01

4USE s.r.o hleda vyvojare na HPP, pracoviste v prerovskem regionu.
Zivotopis a motivacni dopis v anglickem jazyce zasilejte na job(zv)4use(tec)cz.
Pro blizsi informace o nasi spolecnosti navstivte nas web www.4use(tec)cz,
mailujte na job(zv)4use(tec)cz nebo volejte 581 701 381.

PROSIM, NEODPOVIDEJTE DO KONFERENCE!

Alter procedure

[*] Martin Grajcar <grajcar1(zv)seznam(tec)cz> - 05.7.2008 17:01:50

Co presne ten ParamCheck dela? Ja pouzivam ADO a nedari se mi zapsat tam nic co ma v sobe dvojtecku.
Takze nemuzu pouzit LEAVE, protoze nemuzu udelat label (jde o MySql).
Ten kram si zasadne mysli ze to je parametr - a excapovat to nejde.

Milan Tomes wrote:
> Nastav ParamCheck na false.

OT: Delphi 7 Ent Update

[*] talpa(zv)suchdol(tec)net <aldik(zv)quick(tec)cz> - 07.7.2008 10:45:28

Ahoj kluci hledam Delphi 7 Ent update a nejak je nemuzu najit, nemate je
nekdo a nemuzete je vystavit, vzhledem k tomu ze je treba registracni
klic pri instalaci ktery mam, tak to snad neni nejaky problem...


Diky

Ales

Delphi 7 Ent Update

[*] Radek Cervinka <radek.cervinka(zv)technodat(tec)cz> - 07.7.2008 10:57:29

>Ahoj kluci hledam Delphi 7 Ent update a nejak je nemuzu najit, nemate je
> nekdo a nemuzete je vystavit, vzhledem k tomu ze je treba registracni
> klic pri instalaci ktery mam, tak to snad neni nejaky problem...
>
>

http://www.codegear.com/downloads/regusers/delphi

R.

ListView a data

[*] Milan Tomes <delphi(zv)haida(tec)cz> - 09.7.2008 06:51:47

A co treba si nadefinovat toto:

type
PListItem = ^TListItem;
TListItem = record
ID: integer;
ID_Domaci: integer;
ID_Hoste: integer;
end;

a pak namisto

ListItem.Data:= TObject(ADOQuery1.FieldByName('ID').AsInteger);

pouzit

var
PItem: PListItem;

New(PItem);
PItem^.ID := ...;

ListItem.Data:= TObject(PList);


Hlavne je nutne davat pozor na memory leaky - musi byt obslouzeno
uvolnovani pameti.
Pristup k datum se potom realizuje PListItem(ListItem.Data)^.ID.....
Dalsi moznosti je vytvoreni jednoducheho objektu, ale jeho pametove
naroky jsou ponekud vetsi nez jsou naroky jednoducheho recordu. V tomto
ohledu asi zalezi na poctu polozek a take na tom, jestli je nutne mit k
dispozici metody a nebo staci jen datove uloziste bez metod.

S pozdravem

Milan Tomes


Ing. Keder Vladimir napsal(a):
>
> Rad by som sa opytal na moznost ulozit k jednotlivym zaznamom v ListView
> strukturovane doplnkove hodnoty
>
>
> ListItem.Data:= TObject(ADOQuery1.FieldByName('ID').AsInteger);
>
> ja by som chcel prilozit ku kazdemu Itemu aj dalsie hodnoty okrem ID. ak by
> sa dalo nieco ako
> ID_Domaci, ID_Hostia, ... : integer;
>
>

ListView a data

[*] Ing. Keder Vladimir <vkeder(zv)iol.sk> - 08.7.2008 22:34:42

Ahoj



Rad by som sa opytal na moznost ulozit k jednotlivym zaznamom v ListView
strukturovane doplnkove hodnoty



Zaznamy do ListView pridavam nasledovne



ListItem := lw_Kolo.Items.Add;

ListItem.Caption := ADOQuery1.FieldByName('Kolo').AsString;

ListItem.SubItems[0]:= ADOQuery1.FieldByName('Domaci').AsString;

ListItem.SubItems[1]:= ADOQuery1.FieldByName('Hostia').AsString;

...

ListItem.Data:= TObject(ADOQuery1.FieldByName('ID').AsInteger);



ja by som chcel prilozit ku kazdemu Itemu aj dalsie hodnoty okrem ID. ak by
sa dalo nieco ako



ID_Domaci, ID_Hostia, ... : integer;



Rieseni je niekolko ale to je mozno vsetko skrabanie sa lavou rukou za
pravym uchom



napr.

- vlozit ich ako jednotlive stlpce a potom sa snazit ich pred
uzivatelom skryt (uzivatel je ale niekedy velmi sikovny)

- vzdy podla ID zaznamu spustit pozadovane SQL dotazy aby vratilo
pozadovanu hodnotu (to bude zataz na server)

- vytvorit si dynamicke subezne pole a ked naplnam ListView,
naplnit aj toto pole a potom podla ID zaznamu prehladavat dynamicke pole,
pripadne podla pozicie v ListView vybrat prislusny zaznam



a mozno riesenie je jednoduchsie. Mozno vytvorit nejaku triedu a potom to
priradit k ListItem.Data. No a potom ako pristupovat k pozadovanym datam. Je
nieco take mozne ?



Delphi 2007, Vista, standardny ListView



Dakujem za pomoc, radu, nakopnutie, ...



Ing. Keder Vladimir


Synapse - HttpGetText - chybna response

[*] Jarda <jarecek.b(zv)gmail(tec)com> - 09.7.2008 09:50:02

Dobry den,
zkousim v D7 pouzit Synapsi, ale obcas se mi stava, ze HttpGetText
vraci spatna data (vetsinou jen prvnich par znaku). Prave v tuto
chvili se takto chova stranka
"http://meta.wikimedia.org/wiki/List_of_Wikibooks". Jine adresy jsou v
poradku a za nejakou dobu bude fungovat i ta stranka, ktera nefunguje
nyni. Pritom v prohlizeci (FF i IE) se pozadovana stranka zobrazi.
Kde by mohl byt zakopany pes?
Dekuji, Jarek

Synapse - HttpGetText - chybna response

[*] Lukas Gebauer <gebylist(zv)mlp(tec)cz> - 09.7.2008 10:48:07

> zkousim v D7 pouzit Synapsi, ale obcas se mi stava, ze HttpGetText
> vraci spatna data (vetsinou jen prvnich par znaku). Prave v tuto
> chvili se takto chova stranka

A zkousis to na opravdu posledni verzi Synapse? Dela ti to i verze ze
SVN?

--
Lukas Gebauer.

E-mail: gebauerl(zv)mlp(tec)cz
http://synapse.ararat(tec)cz/ - Ararat Synapse - TCP/IP Lib.

Synapse - HttpGetText - chybna response

[*] Jarda <jarecek.b(zv)gmail(tec)com> - 09.7.2008 11:28:12

Puvodne jsem zkousel stable 38 a ted jsem totez zkusil na nejnovejsi
(https://synalist.svn.sourceforge.net/svnroot/synalist/trunk/).
Bohuzel obe se chovaji stejne.

Dne 9. cervenec 2008 10:48 Lukas Gebauer <gebylist(zv)mlp(tec)cz> napsal(a):
>> zkousim v D7 pouzit Synapsi, ale obcas se mi stava, ze HttpGetText
>> vraci spatna data (vetsinou jen prvnich par znaku). Prave v tuto
>> chvili se takto chova stranka
>
> A zkousis to na opravdu posledni verzi Synapse? Dela ti to i verze ze
> SVN?
>
> --
> Lukas Gebauer.
>
> E-mail: gebauerl(zv)mlp(tec)cz
> http://synapse.ararat(tec)cz/ - Ararat Synapse - TCP/IP Lib.

Jak ukoncit proces spusteny pomoci ShellExecut eEx

[*] Petr Langer <p.langer(zv)nexnet(tec)cz> - 10.7.2008 18:09:02

Ahoj,
mam obavu, ze ShellExecuteEx nevraci PID, ale jen handle procesu, takze
pokud je to tak, tak zkus vygooglit, jak z handlu ziskat PID a pak muzes
pouzit funkci TerminateApp z JclSysInfo.pas.
Ta provadi enumeraci vsech oken procesu a posila jim zpravu pro zavreni,
pak otestuje stav a pokud process stale existuje, pouzije stary dobry
osvedceny TerminateProcess.

HTH,
pl


Jaroslav Rubes wrote:
> Zdravim,
>
> resim problem, jak z moji aplikace vytisknout soubor PDF pres asociovany
> program - rekneme Adobe Reader.
> Zatim jsem neprisel na lepsi zpusob jak ukoncit Adobe, nez pomoci fce
> TerminateProcess.
>
> JR.

Synapse - HttpGetText - chybna response

[*] Lukas Gebauer <gebylist(zv)mlp(tec)cz> - 10.7.2008 15:58:51

> Samozrejme mas pravdu!
> Beru si z toho ponauceni: kontrolovat hlavicku na "Content-Encoding" a
> na kompresovana nepouzivat "HttpGetText". Moc dekuji za tvoji snahu me
> nakopnout spravnym smerem. Mozna je to trochu mimo misu, ale nestalo
> by za uvahu naucit Synapsi rozpoznat kompresovanou responsi a
> eventuelne dekomprosovat?

Ta vec ma dve roviny:

- Server ti nema co posilat kompresovanou odpoved, kdyz jsi mu v HTTP
dotazu nesdelil, ze vubec kompresovane odpovedi podporujes. Chovani
tebou zmineneho serveru je jednoznacne chybne!

- Naucit to Synapsi pochopitelne jde. Jenze ja tu kompresi rozhodne
psat nehodlam. Takze by to znamenalo distribuovat se synapsi nejaky
ne uplne maly kod tretich stran... coz je hromada komplikaci.

Nicmene HTTP podporu v Synapsi ted ceka pomerne velka prestavba, tak
se nad touto moznosti zamyslim.

--
Lukas Gebauer.

E-mail: gebauerl(zv)mlp(tec)cz
http://synapse.ararat(tec)cz/ - Ararat Synapse - TCP/IP Lib.

Synapse - HttpGetText - chybna response

[*] Lukas Gebauer <gebylist(zv)mlp(tec)cz> - 10.7.2008 14:18:42

> Kdyz udelam tento test:
>
> procedure TForm1.Button1Click(Sender: TObject);
> var
> data:TStrings;
> begin
> data:=TStringList.Create;
> if
> HttpGetText('http://meta.wikimedia.org/wiki/List_of_Wikibooks',data)
> then
> ShowMessage(IntToStr(Length(data.Text)));
> data.Free;
> end;
>
> dostanu "5". A to se mi zda divne. Jak jsi zjistil, ze jsou vracena
> vsechna data?

Jednoduse... kdyz je to zakompresovane, tak jsou ta data binarni!
Takze je tezko muzu beze ztraty kvetinky cpat do stringlistu. Proto
jsem si je stahnul do streamu...
--
Lukas Gebauer.

E-mail: gebauerl(zv)mlp(tec)cz
http://synapse.ararat(tec)cz/ - Ararat Synapse - TCP/IP Lib.

ListView a data

[*] Ing. Keder Vladimir <vkeder(zv)iol.sk> - 09.7.2008 23:33:06

Dakujem za tip. Funguje to uzasne, je to presne to co som potreboval. Este
by som sa rad opytal na uvolnovanie pamate. Kde a ako je najlepsie uvolnovat
obsadenu pamat ?

Zatial som to pridal do udalosti ked potrebujem zmenit obsah ListView,
predtym nez zmazem polozky

for i := 0 to lw_Vysledky.Items.Count-1 do
Dispose(lw_Vysledky.Items.Item[i].Data);
lw_Vysledky.Items.Clear;

Je to takto spravne ? Alebo sa to da zavolat naraz a uvolnit obsadenu pamat
?

Dakujem

Ing. Keder Vladimir
***********************************

A co treba si nadefinovat toto:

type
PListItem = ^TListItem;
TListItem = record
ID: integer;
ID_Domaci: integer;
ID_Hoste: integer;
end;

a pak namisto

ListItem.Data:= TObject(ADOQuery1.FieldByName('ID').AsInteger);

pouzit

var
PItem: PListItem;

New(PItem);
PItem^.ID := ...;

ListItem.Data:= TObject(PList);


Hlavne je nutne davat pozor na memory leaky - musi byt obslouzeno
uvolnovani pameti.
Pristup k datum se potom realizuje PListItem(ListItem.Data)^.ID.....

svatky vikendy

[*] Jakub Dusek <conference(zv)corexpert(tec)com> - 12.7.2008 21:42:58

Ahoj,
nejlepsi a nejjednodussi reseni co se mi vzdy osvedcilo je tabulka svatku
(at uz v databazi nebo kdekoliv jinde), navazane na datum vcetne roku.
Svatky ubyvaji a pribyvaji, s timhle Te nic nezaskoci a jsi schopen je urcit
i zpetne.

Pak uz ani neni treba si komplikovat kod algoritmem na vypocet velikonoc (co
kdyz ho papez zmeni :)), proste si je nagenerujes do tabulky klidne na x let
dopredu.

Jakub Dusek

-----Original Message-----
From: delphi-l-owner(zv)clexpert(tec)cz [mailto:delphi-l-owner(zv)clexpert(tec)cz] On
Behalf Of MUDr. Patrik Valenta
Sent: Friday, July 11, 2008 8:38 AM
To: delphi-l(zv)clexpert(tec)cz
Subject: svatky vikendy

prosim o radu,

jak do aplikace k planovani sluzeb zjistit, ktere dny jsou svatky (napr.
Cyril+Metodej, velikonoce). Vikendy jsou jasny.

valenta

Thready a zobrazovani zprav v hlavnim okne

[*] Lebeda David <david.lebeda(zv)comarr(tec)cz> - 11.7.2008 14:44:39

Ahoj,

> Jak vyresit situaci kdy si kazde vlakno zmeni svoje data, ale ja potrebuju
> na zaklade toho take zobrazit ze doslo treba k provedeni tohoto planu.
>
> Napadlo mne vice reseni, ale nejak si nejsem jisty co by bylo to NEJ.
> Jako celkem prohledne reseni, ktere nebude bastit moc casu se mi zda
> postup kdy vsechna vlakna budou zapisovat do jedine sdilene promene
> pozadavek na oboveni zobrazeni a timer po cca treba 10 sekundach
> otestuje tuto promenou a provede novy vypis.

Nejsem moc v obraze, ale nemohlo by vlakno posilat hlavnimu oknu
PostMessage, ze provedlo nejakou zmenu?

David Lebeda

Sirka caroveho kodu ve Fastreport 2.5

[*] Pavel Gazda <pavel gazda(zv)datasw(tec)cz> - 11.7.2008 14:26:38

Ahoj

nedavno jsem se na to ptal a zkusim to jeste jednou.( naposled, abych
zbytecne neotravoval )

Vytvorim navrh sestavy ve Fastreportu, ktery obsahuje jeden objekt, tim
carovy kod.
Pokud zmenim obsah memo pole ( napriklad z 12345678 na 123 ) muze dojit
ke zmene sirky
vytvoreneho caroveho kodu, ten muze byt delsi nebo kratsi. Jestlize vsak
chci zjistit
sirku tohoto kodu, tak mi stale vraci puvodni sirku pred zmenou kodu.
Pokud ale napriklad otevru tento navrh sestavy v designeru, tak i kdyz
nic nezmenim,
tak pak dostavam spravne novou sirku.

Muze me nekdo postrcit, jak zjistit novou potrebnou sirku pro carovy kod
aniz bych musel volat designer ?

Jedna se o Fastreport ve verzi 2.5, ve vyssich verzich je to mozna vyresene,
ale ty nemam k dispozici.


Pavel

Thready a zobrazovani zprav v hlavnim okne

[*] Milan Tomes <delphi(zv)haida(tec)cz> - 11.7.2008 13:48:34

ad 2)
API funkce, kterou pravdepodobne hledas se jmenuje WaitForMultipleObjects.

S pozdravem

Milan Tomes

Vaclav Halik napsal(a):
> Problem 2:
> -------------------
> Jaky je nejlepsi zpusob pro reseni situace, kdy jedno vlakno ceka na
> vysledek operace dalsich podrizenych vlaken a muze pokracovat jen
> kdyz jsou vsechna tato vlakna ukoncena.
>
>

svatky vikendy

[*] Milan Dvorak <dvorak(zv)gymzn(tec)cz> - 11.7.2008 08:44:09

Ja bych rek, vzit kalendar a opsat to (do neceho vhodne).

Milan

>>> valentapat(zv)volny(tec)cz 11.7.2008 8:38:08 >>>
prosim o radu,

jak do aplikace k planovani sluzeb zjistit, ktere dny jsou svatky (napr.
Cyril+Metodej, velikonoce). Vikendy jsou jasny.

valenta

Thready a zobrazovani zprav v hlavnim okne

[*] Vaclav Halik <spravasd(zv)suz.cvut(tec)cz> - 14.7.2008 10:53:21

Zdravim,
to vypada dobre. To bude reseni, vyzkousim. Dekuji.

S pozdravem Vaclav Halik

> API funkce, kterou pravdepodobne hledas se jmenuje WaitForMultipleObjects.

Thready a zobrazovani zprav v hlavnim okne

[*] delphin(zv)post(tec)cz - 14.7.2008 16:21:45

> Jak vyresit situaci kdy si kazde vlakno zmeni svoje data, ale ja potrebuju
> na zaklade toho take zobrazit ze doslo treba k provedeni tohoto planu.
>
> Napadlo mne vice reseni, ale nejak si nejsem jisty co by bylo to NEJ.
> Jako celkem prohledne reseni, ktere nebude bastit moc casu se mi zda
> postup kdy vsechna vlakna budou zapisovat do jedine sdilene promene
> pozadavek na oboveni zobrazeni a timer po cca treba 10 sekundach
> otestuje tuto promenou a provede novy vypis. Nelibi se mi na tom ovsem
> ten Timer. Ale chtel bych se vyhnout necou jako je ProcessMessage.
>
> Co by jste doporucili ? Pripadne ma nekdo tento postup odzkouseny u
> aplikace s cca max desitkami vlaken ?

Thread-Safe fronta pozadavky na vykresleni, viz napr ThreadList + pri vlozeni pozadavku na kresleni se zavola PostMessage do hlavniho vlakna. Az bude mit hlavni vlakno cas, zpracuje message a muze vykreslit rovnou celou frontu.

Sinea - CSV export

[*] Zdenek Kalhous <kalhous(zv)eu(tec)cz> - 15.7.2008 08:31:02

Uzivatel by rad exportoval data do csv formatu. Predstavoval jsem si to tak, ze pts soubor Sinea by slouzil jako definice exportovanych dat (abych nemusel patlat vlastni nastroj), programem bych zachycoval vystup a zapisoval do souboru. Zkousim zachytit treba OnGetData, OnPrintElement ale nic se mi nedari. Nevite nekdo jak na to?

Kalhous

StringGrid a sirka sloupce

[*] Michal S. <micsdelphi(zv)centrum(tec)cz> - 17.7.2008 14:27:07

Nejprve zjistis nejvetsi sirku textu pomoci
StringGrid.Canvas.TextWidth('text bunky');

A pote nastavit sirku sloupce: StringGrid.ColWidths[i]

M.

Simek Pavel napsal(a):
>
> Jak ve StringGridu nastavim dle nejdelsiho obsahu bunky, sirku sloupce?
>
>

Preteceni typu integer u TPanel.Top

[*] delphin(zv)post(tec)cz - 18.7.2008 09:30:34

> delam takovy jednoucelovy program pro razeni fotek. Do TScrollBox nacitam
> zmensene nahledy obrazku z vybraneho adresare, ty jeste pro efekt umistuju na
> TPanel a tyto panely umistuju pod sebe do TScrollBoxu. Panel ma Height=110.
> Pokud je fotek vic >300 dojde k preteceni typu Integer vlastnosti TPanel.Top. To
> se ovsem neprojevi pokud nactu vsechny fotky pri vstupu do adresare, v tom
> pripade se i tento pocet zobrazi spravne. Problem nastane, kdyz jednu jedinou
> polozku nekde na zacatku seznamu smazu. Pak vsechny panely s Top vetsi jak 32767
> maji hodnotu Top prave 32767, tedy se zobrazi pres sebe.
> Tento problem chapu, kdyz je Top typu Integer, neda se nic delat, ale proc se to
> neprojevi (preteceni) pri nacteni vsech fotek? A stejne mi pripada pouziti typu
> Integer jako znacne omezujici, stacilo by LongInt a bylo by po problemu...
> Ma nekdo s podobnymi vecmi zkusenosti? Jak by se tento problem dal vyresit, aby
> pocet tech fotek nemusel byt zavisly na typu Integer?

To se prece takhle nedela. Normalne se to dela tak, ze se uzivatel necha soupat se ScrollBoxem a podle toho, kam se chce podivat se dynamicky nactou a zobrazi fotky. (Pripadne si fotky pripravim do cache a pak uz jenom kopiruju z cache na obrazovku)

Preteceni typu integer u TPanel.Top

[*] Petr Fejfar <petr.fejfar(zv)seznam(tec)cz> - 18.7.2008 09:18:33

Dne Fri, 18 Jul 2008 07:40:26 +0200 Miloslav Pojsl <mpojsl(zv)seznam(tec)cz>
napsal/-a:

> vyresit, aby pocet tech fotek nemusel byt zavisly na typu Integer?

A Range checking mas zapnuty?
Ten by ti mel ukazat misto, kde delas neco spatne


HTH, pf

Preteceni typu integer u TPanel.Top

[*] spurny(zv)kavlounky(tec)cz - 18.7.2008 09:08:32

Ahoj,

Miloslav Pojsl napsal(a):
> Tento problem chapu, kdyz je Top typu Integer, neda se nic delat, ale proc se to neprojevi (preteceni) pri nacteni vsech fotek? A stejne mi pripada pouziti typu Integer jako znacne omezujici, stacilo by LongInt a bylo by po problemu...
>
Tento problem s nejvetsi pravdepodobnosti nepochazi z property Top, ale
z toho, ze pri vypoctu nekde pouzivas promennou typu smallint nebo
funkci, ktera ma parametr nebo vysledek typu smallint.

property Top je integer tedy ma vetsi rozsah hodnot viz nize:

Integer -2147483648..2147483647 signed 32-bit
Smallint -32768..32767 signed 16-bit

ahoj

--
Ing. Antonin Spurny


Preteceni typu integer u TPanel.Top

[*] Milan Tomes <delphi(zv)haida(tec)cz> - 18.7.2008 07:54:27

No jen na okraj - Integer nekonci na 32767, ale na 2147483647 (tedy
pokud mluvime o 32 bitech)

M.T.

Miloslav Pojsl napsal(a):
> tento pocet zobrazi spravne. Problem nastane, kdyz jednu jedinou polozku nekde na zacatku seznamu smazu. Pak vsechny panely s Top vetsi jak 32767 maji hodnotu Top prave 32767, tedy se zobrazi pres sebe.
> Tento problem chapu, kdyz je Top typu Integer, neda se nic delat, ale proc se to neprojevi (preteceni) pri nacteni vsech fotek? A stejne mi pripada pouziti typu Integer jako znacne omezujici, stacilo by

Preteceni typu integer u TPanel.Top

[*] Miloslav Pojsl <mpojsl(zv)seznam(tec)cz> - 18.7.2008 07:40:26

Zdravim vsechny,

delam takovy jednoucelovy program pro razeni fotek. Do TScrollBox nacitam zmensene nahledy obrazku z vybraneho adresare, ty jeste pro efekt umistuju na TPanel a tyto panely umistuju pod sebe do TScrollBoxu. Panel ma Height=110. Pokud je fotek vic >300 dojde k preteceni typu Integer vlastnosti TPanel.Top. To se ovsem neprojevi pokud nactu vsechny fotky pri vstupu do adresare, v tom pripade se i tento pocet zobrazi spravne. Problem nastane, kdyz jednu jedinou polozku nekde na zacatku seznamu smazu. Pak vsechny panely s Top vetsi jak 32767 maji hodnotu Top prave 32767, tedy se zobrazi pres sebe.
Tento problem chapu, kdyz je Top typu Integer, neda se nic delat, ale proc se to neprojevi (preteceni) pri nacteni vsech fotek? A stejne mi pripada pouziti typu Integer jako znacne omezujici, stacilo by LongInt a bylo by po problemu...
Ma nekdo s podobnymi vecmi zkusenosti? Jak by se tento problem dal vyresit, aby pocet tech fotek nemusel byt zavisly na typu Integer?


Mgr. Miloslav Pojsl

DBExpress ve vlaknech a invalid request han dle, A

[*] Petr Fejfar <petr.fejfar(zv)seznam(tec)cz> - 17.7.2008 22:03:43

Dne Thu, 17 Jul 2008 21:45:41 +0200 Pavel Fiser <fiserpavel(zv)gmail.com>
napsal/-a:

> To bych asi mohl se neustale reconnectit i v ramci behu toho kazdeho
> vlakna, ale myslim ze vzhledem k vyse uvedenemu, i k faktu, ze klient
> se pripoji, server pro nej vytvori connection, pak probihaji souvisle
> treba 15 sekund nejake SQL dotazy a zase se server odpoji od DB a
> klient od serveru, je Tva hypoteza rovnou vyvracena.

Pokud nejsou ty connectivity poolovany, tak asi jo.

pf

DBExpress ve vlaknech a invalid request han dle, A

[*] Pavel Fiser <fiserpavel(zv)gmail(tec)com> - 17.7.2008 21:45:41

> tak me napadlo, jestli ti neupadne spojeni ze strany DB.
Nevim jestli jsem Te dobre pochopil, ale jak jsem psal, deje se to pak
i u nove vytvorenych vlaken a tedy i novych pripojeni k databazi.
Krome toho, v podstate neni momentu, kdy by nebyl obsluhovan minimalne
jeden klient a tim padem vytvoreno alespon jedno spojeni.
Dela to na me dojem, jako ze v DB driveru se nekde neco potka a
premazne a pak uz je to pokazene i pro ta nova pripojeni. A pomuze jen
restart cele aplikace :-(

Objevil jsem alternativni FB DBExpress driver od CoreLabs. Mate s nim
nekdo zkusenosti?> Jestli to aplikace unese, tak muzes zkusit spojeni
> otvirat+zavirat na kazdou transakci, abys tuhle hypotezu
> potvrdil resp. vyvratil.
To bych asi mohl se neustale reconnectit i v ramci behu toho kazdeho
vlakna, ale myslim ze vzhledem k vyse uvedenemu, i k faktu, ze klient
se pripoji, server pro nej vytvori connection, pak probihaji souvisle
treba 15 sekund nejake SQL dotazy a zase se server odpoji od DB a
klient od serveru, je Tva hypoteza rovnou vyvracena.
Tedy pokud Te spravne chapu.

Dik. F.

DBExpress ve vlaknech a invalid request han dle, A

[*] Petr Fejfar <petr.fejfar(zv)seznam(tec)cz> - 17.7.2008 15:55:15

Dne Thu, 17 Jul 2008 14:49:09 +0200 Pavel Fiser <fiserpavel(zv)gmail.com>
napsal/-a:

> Nema nekdo tip, kde dal hledat, nebo co dalsiho podniknout?

Sice ani jednu technologii (Indy, DBExpress) nepouzivame,
ale kdyz to davas do souvislosti s delkou provozu,
tak me napadlo, jestli ti neupadne spojeni ze strany DB.

Setkal jsem se s tim pred lety u firewallu, ktery po urcite
dobe dropnul spojeni, kdyz nebyl zadny provoz
a docela nedavno u MySQL 5.x na Linuxu, ktera ma nekde
v konfiguraci taky timeout, pri jehoz prekroceni spojeni dropne.

A DB vrstva vetsinou neni napsana tak, aby dokazala jasne
reportovat, co se stalo, spis dochazi k subj%

--

V prvnim pripade jsme jako quick&dirty reseni periodicky
updatovali DB a aby to nebyla uplne jalova operace,
tak jsme ji pouzili jako watch-dog.

V druhem pripade jsme nechali spojeni v poolu vymirat
tj. merili jsme si cas od posledniho dotazu a pri expiraci
jsme spojeni zahodili a vytvorili si cerstve.

+ pri chybe v DB operaci vytvarime automaticky taky cerstve
spojeni a operaci zopakujeme. Chybu reraisneme jen v pripade,
ze spadne i opakovany pokus.

--

Jestli to aplikace unese, tak muzes zkusit spojeni
otvirat+zavirat na kazdou transakci, abys tuhle hypotezu
potvrdil resp. vyvratil.


HTH, pf

DBExpress ve vlaknech a invalid request han dle, A

[*] Pavel Fiser <fiserpavel(zv)gmail(tec)com> - 17.7.2008 14:49:09

Mam aplikacni server zalozeny na TIdTCPServer a pouzivajici DBExpress
TSQLConnection - kazde obsluzne vlakno je potomkem TIdPeerThread,
ktery si vytvari a pouziva vlastni instanci TSQLConnection. Obsluha
jednoho klienta trva od par sekund do par minut, soucasne jich je
pripojeno max. do 10, celkem je obsluhovano zatim cca 60 klientu.

Po nejake dobe (v zavislosti na provozu v radu hodinach az dnech) se
objevi v nekterem vlakne jedna z chyb v %sujb% - vzdy pri nejake (po
kazde jine) operaci s DB (open dotazu, conn.execute, conn.Free) a od
te doby to zacne padat ve vsech soucasnych i budoucich vlaknech take
na ruznych mistech s pristupem do DB. Pomuze jenom restart aplikace.

Mam pomerne detailni logy vcetne vypisu callstacku apod, ale moc mi to
nepomuze, protoze po kazde to spadne jinde (vzdy nekde v DB vrstve na
urovni driveru).

Vypada to, ze krome pristupu ke globalnimu Screen objektu i pres
vypnute SQLHours, coz jsem si jiz opravil, tam bude jeste nejaka jina
non-threadsave vec, ale jak ji najit?

Nema nekdo tip, kde dal hledat, nebo co dalsiho podniknout?

Dik moc. F.

D7E, FB2.0.1.12855


Automaticka aktualizace aplikace

[*] Mgr. Martin Radvansky <delphiconf(zv)radvansky(tec)net> - 20.7.2008 16:48:53

Dobry den,
20. cervence 2008, 15:22:47, napsal jste:

ED> Nevim, jestli nebudu ted nahodou mimo misu, ale jaky je problem zjistit na
ED> serveru pritomnost nove verze programu, potazmo dalsich souboru a
ED> existuje-li, stahnout soubory a restartovat aplikaci? Bez zasahu cloveka,
ED> ktery aplikaci obsluhuje. Tomu se muze max. oznamit, ze program bude
ED> restartovan. Vzdyt to umi napr. komponenta acAutoUpgrader

Jenze tady puvodne neslo o to co pises, ale jak udelat aktualizaci a pritom
nemenit prava nastaveni prav. Jako User nemuzes do slozky PF
zapisovat, takze jak tam udelas tu aktualizaci bez toho aby jsi byl
administrator a na vistach bez vypnuteho UAC?

--
S pozdravem,
Mgr. Martin Radvansky

Automaticka aktualizace aplikace

[*] Emil Dorner <emildor(zv)seznam(tec)cz> - 20.7.2008 15:22:47

Nevim, jestli nebudu ted nahodou mimo misu, ale jaky je problem zjistit na
serveru pritomnost nove verze programu, potazmo dalsich souboru a
existuje-li, stahnout soubory a restartovat aplikaci? Bez zasahu cloveka,
ktery aplikaci obsluhuje. Tomu se muze max. oznamit, ze program bude
restartovan. Vzdyt to umi napr. komponenta acAutoUpgrader

-----Original Message-----
From: delphi-l-owner(zv)clexpert(tec)cz [mailto:delphi-l-owner(zv)clexpert(tec)cz] On
Behalf Of Petr Zahradnik
Sent: Sunday, July 20, 2008 2:49 PM
To: delphi-l(zv)clexpert(tec)cz
Subject: Re: Automaticka aktualizace aplikace

Puvodni zprava ze dne 20.7.2008 od Vaclav Halik:

> nojo, ale jak na to, kdyz je ten pocitac POS system a nemuze se
> restartovat protoze musi neustale replikovat data dale. A restaruje
> se jenom pokud musis kvuli aktualizacim Windows a to jeste jen pokud
> to provoz dovoli.

Tak pak neni treba nic aktualizovat. A pokud je treba aktualizovat tu
hlavni aplikaci, tak ta by se stejne musela vypnout. Takze je to uplne
jedno, jestli se zrestartne i system. Navic tohle je dost specificka
situace, tam se da doprasit cokoliv, kdyz tam jede jeden soft a vubec
nic dalsiho.

Petr Zahradnik, pocitacovy expert

==========================================================
Petr Zahradnik, Computer Laboratory


web: http://www.clexpert(tec)cz, e-mail: clexpert(zv)clexpert(tec)cz

==========================================================


Automaticka aktualizace aplikace

[*] Petr Zahradnik <clexpert(zv)clexpert(tec)cz> - 20.7.2008 14:48:44

Puvodni zprava ze dne 20.7.2008 od Vaclav Halik:

> nojo, ale jak na to, kdyz je ten pocitac POS system a nemuze se
> restartovat protoze musi neustale replikovat data dale. A restaruje
> se jenom pokud musis kvuli aktualizacim Windows a to jeste jen pokud
> to provoz dovoli.

Tak pak neni treba nic aktualizovat. A pokud je treba aktualizovat tu
hlavni aplikaci, tak ta by se stejne musela vypnout. Takze je to uplne
jedno, jestli se zrestartne i system. Navic tohle je dost specificka
situace, tam se da doprasit cokoliv, kdyz tam jede jeden soft a vubec
nic dalsiho.

Petr Zahradnik, pocitacovy expert

==========================================================
Petr Zahradnik, Computer Laboratory


web: http://www.clexpert(tec)cz, e-mail: clexpert(zv)clexpert(tec)cz

==========================================================


Automaticka aktualizace aplikace

[*] Mgr. Martin Radvansky <delphiconf(zv)radvansky(tec)net> - 20.7.2008 14:22:42

Dobry den,

>> U jedne nasi aplikace bych chtel nejakym komfortnim zpusobem delat
>> automaticke aktualizace aplikace a pritom dodrzet uroven zabezpeceni
>> systemu.

PZ> Jedine spravne reseni podle me je pres Windows Installer Service.

Jo to souhlasim s tim nemam problem, jde mi spise o tu cast kdy
potrebuji provest ten update.

V dokumentaci MSI to pisou, nicmene jsem tam nenasel nejakou moznost
aby se to provadelo opravdu automaticky, tj, ze uzivatel nespusti
nejaky ten msi balicek s updatem.(Nejaka sluzba ktera bude kontrolovat
update manifest)

Slo mi o to pustit ten update aplikace bez toho, aby to v podstate
uzivatel vedel a ja musel programovat standardni veci kolem kontroly
nove verze na netu. Ocekaval bych ze to MIS bude v sobe zahrnovat
automaticky

Pujde to ale snad udelat tak, ze si ve vlastni aplikaci stahnu info z
Webove sluzby o verzi, pak si stahnu update msi balicek a uzivateli
reknu, ze je nova verze a provede update spustenim instalace. Tim
alespon maximalne omezim nejakou interaci uzivatele



--
S pozdravem,
Mgr. Martin Radvansky

Automaticka aktualizace aplikace

[*] Vaclav Halik <spravasd(zv)suz.cvut(tec)cz> - 20.7.2008 14:14:41

Zdravim,
nechapu tuto reakci. Jsem asi neco prehledl. Co si myslis, ze se stane
pokud budes mit adresar %Program Files%/Moje APP povoleny
pro zapis pro uzivatele ?

Tam nataha porno ? - To muze nacpat i jinam.
Ti smaze nejake casti aplikace ? - OK uznavam to je problem, castecne se
da resit domluvou.
Ti tam nataha nejaky skodlivy soft ? - To muze spustit i z plochy.

Je dobre si uvedomit, ze treba standardni nastaveni v domene (AD)
umoznuje uzivatelum zapis do Home a na disky do Rootu. By mne zajimalo
co se stane, kdyz bude mit user moznost zapisovat do dalsiho adresare ?

Argument, ze takovou aplikaci nechces je sice pekny, ale to ti muze
stejne vadit
Updater, ktery take dela neco pod cim mas minimali kontrolu, akurat mas
dobry pocit, ze to mas pod jinym uctem. Samozrejme je blbost, kdyz nekdo
pro toho usera povoli celej Program Files nebo jeste hure cely disk.

Updater Service je dobra varianta, ale pokud ti jich bezi 15 je to uplne
naprd.
Bohuzel spousta updateru je takto doprasena :-(.

Ja nemam potrebu oponovat, ale zajimaji me spise konkretni priklady proc je
to spatne. Sam spravuju docela velkou sit a toto je pro mne uplne
zanedbatelny
problem, ve srovnani s ostanim kolem Windows site.


Vaclav Halik

>> * Metoda "Kdo je tady panem" Pri instalaci programu do PF se proste
>> nastavi pristup k instalacnimu adresari na RW pro uzivatele a pak si
>> aplikace sama jiz resi aktualizaci, protoze nama problem s prepsanim
>> souboru.
>> - Tato metoda mi pripada postavena na hlavu konceptu prav, takze se
>> mi nelibi ji pouzit a pokud by mi toto aplikace nastavila, tak bych
>> silne uvazoval zda ji dale pouzivat.
>>
>
> Tohle je naprosto neprijatelne prave z duvodu bezpecnosti. Videl jsem
> nekolik takovych aplikaci, okamzite to slo pryc. Odhalit to lze dobre pomoci
> http://technet.microsoft.com/en-us/sysinternals/bb897332.aspx
>
> Petr Vones

Automaticka aktualizace aplikace

[*] Petr Vones <conference(zv)petrvones(tec)net> - 20.7.2008 11:36:30

From: "Mgr. Martin Radvansky" <delphiconf(zv)radvansky.net>
> * Aktualizace pouze overi novou verzi na webu a nahlasi. Uzivatel si
> stahne instalcni balicek, ktery se musi spustit s pravy
> Administratora.

Tenhle postup je nejsnazsi a bezpecny, vyzaduje ale aby uzivatel mel pristup
k uctu s pravy administratora. Ve firemnim prostredi temer nepouzitelne.

> * Pouzije se metoda s instalacni sluzbou - napr InstallShield, kde je
> vytvorena instalacni sluzba, ktera je spustena s patricnymi pravy pro
> zapis do PF a pri aktualizaci informuje o nove verzi, pripadne ukonci
> aplikaci a provede zmenu souboru v PF
> - Metoda dobra, ale moc me netesi myslenka spustene sluzby at jiz
> vlastni ci z InstallShieldu.

Tohle je asi jediny spravny a v praxi pouzitelny zpusob. Technologii je cela
rada s ruznou urovni bezpecnosti. Pokud by se jednalo o .NET aplikaci tak
bych urcite zvazil ClickOnce. Ma samozrejme i sve nevyhody, ale je hotovy a
da se hned pouzit.

Vlastni reseni pak jedine Windows Service, ktera bude volat webovou sluzbu a
provede pripadnou aktualizaci. Je treba pouzit HTTP/S protokol, protoze nic
jineho si dnes z firmy ven nepusti. Prenos velkych binarnich dat lze pres
web service optimalizovat pomoci standardu MTOM (pokud se jedna o Delphi
Win32 tak pochybuji ze tam do jeho SOAPu nekdo nejake standardy vubec dela
:-) Data by bylo vhodne nejakym zpusobem zabezpecit, s overenim certifikatu
apod. Je nutne pocitat s tim, ze by se nekdo mohl pokusit modifikovat DNS
zaznamy apod. Ono by vubec bylo dobre, aby spustitelne soubory byly
podepsany pomoci Microsoft authenticode.

Mluvime-li o instalaci, nabizi se samozrejme Windows Installer. Bohuzel
aktualizace pod pravy uzivatele neni tak snadna, neco se v tomto ohledu
tusim udelalo ve verzi 4.0 (aktualni verze je 4.5). Opet je to neco co lze
zvazit zda-li je to pouzitelne. Ono mit zase plny pocitac nejakych
aktualizacnich services (kdo jim bude uplne verit, ze) taky neni moc pekny
:-) Obecne je to popsane treba tady http://wix.sourceforge.net/ctvision.html

> * Metoda "Kdo je tady panem" Pri instalaci programu do PF se proste
> nastavi pristup k instalacnimu adresari na RW pro uzivatele a pak si
> aplikace sama jiz resi aktualizaci, protoze nama problem s prepsanim
> souboru.
> - Tato metoda mi pripada postavena na hlavu konceptu prav, takze se
> mi nelibi ji pouzit a pokud by mi toto aplikace nastavila, tak bych
> silne uvazoval zda ji dale pouzivat.

Tohle je naprosto neprijatelne prave z duvodu bezpecnosti. Videl jsem
nekolik takovych aplikaci, okamzite to slo pryc. Odhalit to lze dobre pomoci
http://technet.microsoft.com/en-us/sysinternals/bb897332.aspx

Petr Vones

Automaticka aktualizace aplikace

[*] Petr Zahradnik <clexpert(zv)clexpert(tec)cz> - 20.7.2008 11:08:28

Puvodni zprava ze dne 20.7.2008 od Mgr. Martin Radvansky:

> U jedne nasi aplikace bych chtel nejakym komfortnim zpusobem delat
> automaticke aktualizace aplikace a pritom dodrzet uroven zabezpeceni
> systemu.

Jedine spravne reseni podle me je pres Windows Installer Service.

Petr Zahradnik, pocitacovy expert

==========================================================
Petr Zahradnik, Computer Laboratory


web: http://www.clexpert(tec)cz, e-mail: clexpert(zv)clexpert(tec)cz

==========================================================


Automaticka aktualizace aplikace

[*] Mgr. Martin Radvansky <delphiconf(zv)radvansky(tec)net> - 20.7.2008 10:42:26

Dobry den,

U jedne nasi aplikace bych chtel nejakym komfortnim zpusobem delat
automaticke aktualizace aplikace a pritom dodrzet uroven zabezpeceni
systemu.

Tj predppokladejme aplikaci citajici nekolik balicku a exe, ktere se
casto aktualizuji, Aplikace je standardne nainstalovana do Program
Files a data ma ulozeny v patricnych adresarich v Dokumentech.

Tj
Pro uzivatele je tedy vlastni aplikacni adresar s pravy pouze RO a data jsou
pristupna pro RW

Jelikoz je pro skupinu USER tedy Adresar aplikace RO je problem zde
tu aktualizaci provest.

Ruzne firmy to resi ruzne

* Aktualizace pouze overi novou verzi na webu a nahlasi. Uzivatel si
stahne instalcni balicek, ktery se musi spustit s pravy
Administratora.
- Tato metoda je jednoducha a funkcni, ale pro caste zmeny v programu
ci baliccich neni komfortni

* Pouzije se metoda s instalacni sluzbou - napr InstallShield, kde je
vytvorena instalacni sluzba, ktera je spustena s patricnymi pravy pro
zapis do PF a pri aktualizaci informuje o nove verzi, pripadne ukonci
aplikaci a provede zmenu souboru v PF
- Metoda dobra, ale moc me netesi myslenka spustene sluzby at jiz
vlastni ci z InstallShieldu.

* Metoda "Kdo je tady panem" Pri instalaci programu do PF se proste
nastavi pristup k instalacnimu adresari na RW pro uzivatele a pak si
aplikace sama jiz resi aktualizaci, protoze nama problem s prepsanim
souboru.
- Tato metoda mi pripada postavena na hlavu konceptu prav, takze se
mi nelibi ji pouzit a pokud by mi toto aplikace nastavila, tak bych
silne uvazoval zda ji dale pouzivat.

Takze jsem nastinil nejake metody a dotazem do plena konference bych
se rad puoradil, jakou metodu pouzivate vy?
Nakonec to asi padne na tu sluzbu.

Jinak pokud mate nekdo nejaky jiny lepsi a pritom bezpecny napad,
diky za namet.

--
S pozdravem,
Mgr. Martin Radvansky

Automaticka aktualizace aplikace

[*] Vaclav Halik <spravasd(zv)suz.cvut(tec)cz> - 20.7.2008 14:40:43

Zdravim,
> Kdyz mas sit v domene, muze tohle vsechno ridit spravce, pak se
> instalace instaluji pri prihlaseni uzivatele podle nastaveni spravce.
nojo, ale jak na to, kdyz je ten pocitac POS system a nemuze se
restartovat protoze musi neustale replikovat data dale. A restaruje
se jenom pokud musis kvuli aktualizacim Windows a to jeste jen
pokud to provoz dovoli. A co v pripade ze je system zkonfigurovany
tak, ze se prihlasuje pod uctem s min pravy autologinem po startu
a uzivatel ze systemu vidi tak dve dovolena okna jeho pracovni
aplikace ? De to nejak poresit ?

Je spousta pripadu a provozu kde u toho sedi 75-leta babicka,
a protoze se doma nudi a je celkem fit tak chodi nekde markovat
do restaurace nebo marketu. Jak ji naucit se prihlasovat a restartovat ?

Vaclav Halik

Automaticka aktualizace aplikace

[*] Petr Zahradnik <clexpert(zv)clexpert(tec)cz> - 20.7.2008 14:26:42

Puvodni zprava ze dne 20.7.2008 od Mgr. Martin Radvansky:

> Slo mi o to pustit ten update aplikace bez toho, aby to v podstate
> uzivatel vedel a ja musel programovat standardni veci kolem kontroly
> nove verze na netu. Ocekaval bych ze to MIS bude v sobe zahrnovat
> automaticky

Kdyz mas sit v domene, muze tohle vsechno ridit spravce, pak se
instalace instaluji pri prihlaseni uzivatele podle nastaveni spravce.

> Pujde to ale snad udelat tak, ze si ve vlastni aplikaci stahnu info
> z Webove sluzby o verzi, pak si stahnu update msi balicek a
> uzivateli reknu, ze je nova verze a provede update spustenim
> instalace. Tim alespon maximalne omezim nejakou interaci uzivatele

Jde o to, jestli je to v zajmu uzivatele. Sitovi spravci si to chteji
ridit sami, na to maji Windows Installer Service s podporou Active
Directory primo ve Windows Serveru. Ostatni normalni uzivatele si to
chteji take ridit sami, napriklad ja bych nechtel, aby se mi neco samo
instalovalo pod rukou, uz jen z duvodu zaloh dat a systemu a podobnych
zalezitosti...

Petr Zahradnik, pocitacovy expert

==========================================================
Petr Zahradnik, Computer Laboratory


web: http://www.clexpert(tec)cz, e-mail: clexpert(zv)clexpert(tec)cz

==========================================================


seznam osobnich certifikatu

[*] Pavel Gazda <pavel gazda(zv)datasw(tec)cz> - 21.7.2008 09:26:05

Zdravim,

potrebuji zjistit seznam nainstalovanych certifikatu,
(pripadne overit existenci podle zadaneho jmena)

Kdysi jsem pro tyto funkce pouzil CAPICOM,
ale toto reseni vyzaduje instalaci CAPICOM na kazdy pocitac,
kde chci svou funkci pouzit.

Existuje jine reseni ? Bez nutnosti nejake instalace ?
Nepozaduji ted zadne dalsi funkce.

Pouzivam: D6pro


Diky
Pavel

seznam osobnich certifikatu

[*] Milan Tomes <delphi(zv)haida(tec)cz> - 21.7.2008 09:36:06

Jde to s pouzitim CryptoAPI - CAPICOM neni nic jineho nez COM nadstavba
nad CryptoAPI. Jen informace - preklad hlavicek v Delphi je chybny, ale
mozna pro funkce CertOpenStore a CertFindCertificateInStore budou
spravne. Ovsem priprav se na peklo na zemi v pripade, ze budes chtit s
tim certifikatem pracovat (sifrovat, podepisovat apod.)

M. Tomes

Pavel Gazda napsal(a):
> potrebuji zjistit seznam nainstalovanych certifikatu,
> (pripadne overit existenci podle zadaneho jmena)
>
> Kdysi jsem pro tyto funkce pouzil CAPICOM,
> ale toto reseni vyzaduje instalaci CAPICOM na kazdy pocitac,
> kde chci svou funkci pouzit.
>
> Existuje jine reseni ? Bez nutnosti nejake instalace ?
> Nepozaduji ted zadne dalsi funkce.
>

seznam osobnich certifikatu

[*] Pavel Gazda <pavel gazda(zv)datasw(tec)cz> - 21.7.2008 10:30:14

Diky,
uz jsem neco nasel.

Muzes upresnit, co bylo v hlavickach chybne.
Stahl jsem si: "17597_new_wincrypt.h_translation.ZIP", tak jestli to
jiz neni opravene.

Pavel



Milan Tomes napsal(a):
> Jde to s pouzitim CryptoAPI - CAPICOM neni nic jineho nez COM nadstavba
> nad CryptoAPI. Jen informace - preklad hlavicek v Delphi je chybny, ale
>

> Pavel Gazda napsal(a):
>
>> potrebuji zjistit seznam nainstalovanych certifikatu,
>> (pripadne overit existenci podle zadaneho jmena)
>>
>>

TPanel.Top meni pri prirazeni svou hodnotu

[*] Miloslav Pojsl <mpojsl(zv)seznam(tec)cz> - 21.7.2008 11:14:17

Zdravim vsechny,

vracim se tu jeste s problemem v seznamu TPanelu umistenych pod sebou ve TScrollBoxu (pro zmensene nahledy fotek). Pokud je pocet fotek takovy, ze TPanel.Top je vetsi nez 32767, pri nacitani s adresare je vse OK. Pokud ovsem nekterou fotku (resp TPanel) smazu, pak v kodu delam toto:

for n:=VybranaFoto+1 to ScrollBox.ControlCount-1 do
begin
TPanel(ScrollBox.Controls[n]).Top:=TPanel(ScrollBox.Controls[n]).Top-FHeight;
end;

kde FHeight je konstantni hodnota (110). Vypisem do Logu jsem zjistil, ze pokud je hodnota Top>32767 pak se deje toto:
ctena hodnota TPanel(ScrollBox.Controls[n]).Top je spravna, ale po prirazeni jeji zmensene hodnoty o FHeight se hodnota TPanel(ScrollBox.Controls[n]).Top nastavi vzdy na hodnotu 32767. Fotky jsou tedy zobrazeny pres sebe, coz je nezadouci. Vim, ze problem neni v preteceni typu, ale co je tedy spatne? Nenapada vas neco? Diky za nakopnuti..


Mgr. Miloslav Pojsl
Meopta optika s.r.o.
Kabelikova 1
Prerov

TPanel.Top meni pri prirazeni svou hodnotu

[*] Milan Tomes <delphi(zv)haida(tec)cz> - 21.7.2008 11:50:20

Ma to na svedomi volani API funkce SetWindowPos v metode
TWinControl.SetBounds. Teoreticka moznost obejiti by mohlo byt hrani si
s alokaci handlu pro ten wincontrol. Jeste lepsi moznost je pouziti
jineho controlu - ne potomka TWinControl.

Milan Tomes

Miloslav Pojsl napsal(a):
> vracim se tu jeste s problemem v seznamu TPanelu umistenych pod sebou ve TScrollBoxu (pro zmensene nahledy fotek). Pokud je pocet fotek takovy, ze TPanel.Top je vetsi nez 32767, pri nacitani s adresare je vse OK. Pokud ovsem nekterou fotku (resp TPanel) smazu, pak v kodu delam toto:
>

Sinea - CSV export

[*] Vaclav Krmela <krmela(zv)ustinadorlici(tec)cz> - 21.7.2008 11:00:16

----- Original Message -----
From: "Zdenek Kalhous" <kalhous(zv)eu(tec)cz>> Uzivatel by rad exportoval data do csv formatu. Predstavoval jsem si to
> tak,
> ze pts soubor Sinea by slouzil jako definice exportovanych dat (abych
> nemusel patlat vlastni nastroj),

Vystup do textoveho tvaru je mozny pouze s pevnou sirkou sloupcu. Pokud by
nevadil hojny vyskyt mezer dorovnavajicich jednotlive polozky na maximalni
sirku, pak by do slo. Navrhne se predloha pro textovy vystup s dostatecnou
sirkou papiru. Do predlohy se vlozi jednotlive datove prvky natazene na
maximalni delku obsahu. Mezi prvky se vlozi graficky text se znakem carka,
pripadne i s uvozovkami. Je to ale pouze pro male vystupy a tam, kde mezery
nevadi.

Pro zhusteny vystup bez mezer Sineu lze pouzit, ale moc elegantni to neni. V
predloze by se musela navrhnout uzivatelska funkce, ve ktere by se secetly
vsechny datove polozky vcetne oddelovacu. V tele predlohy tiskove sestavy by
pak byl jen jeden velmi siroky prvek a to vysledek teto uzivatelske funkce.

O delce stranky plati to, co bylo uvedeno v prispevku o exportu do HTML
(AutoPageSize).
Nebo lze navrhnout predlohu bez hlavy a pata stranky a s nulovym hornim a
dolnim okrajem. Pri exporu do textu to vyjde nastejno

> programem bych zachycoval vystup a zapisoval do souboru. ?

To je samozrejme zbytecne. Sestavu lze poslat do souboru primo bez
zachytavani pomoci WriteToFile.
> Zkousim zachytit treba OnGetData, OnPrintElement ale nic se mi nedari.

Tudy cesta nevede.


Vaclav Krmela

seznam osobnich certifikatu

[*] Milan Tomes <delphi(zv)haida(tec)cz> - 21.7.2008 11:00:16

Bohuzel to uz si nepamatuju. Nicmene snad to je v tom zipu opravene - ja
ho nestahoval.

M. Tomes

Pavel Gazda napsal(a):
> Muzes upresnit, co bylo v hlavickach chybne.
> Stahl jsem si: "17597_new_wincrypt.h_translation.ZIP", tak jestli to
> jiz neni opravene.
>
>
> Milan Tomes napsal(a):
>
>> Jde to s pouzitim CryptoAPI - CAPICOM neni nic jineho nez COM nadstavba
>> nad CryptoAPI. Jen informace - preklad hlavicek v Delphi je chybny, ale
>>
>>
>
>
>> Pavel Gazda napsal(a):
>>
>>
>>> potrebuji zjistit seznam nainstalovanych certifikatu,
>>> (pripadne overit existenci podle zadaneho jmena)
>>>
>>>
>>>
>
>

Sinea - export do html

[*] Vaclav Krmela <krmela(zv)ustinadorlici(tec)cz> - 21.7.2008 10:42:15

From: "Zdenek Kalhous" <kalhous(zv)eu(tec)cz>
> Netusite nekdo proc mi generator Sinea tvrdosijne pridava k jmenu souboru
> jednu cislici takze je-li
> s:='C:\temp\SXXXX.htm'
> tak funkce
> WritePagesToHtml(ExtractFilePath(s),ExtractFileName(s),'');
> vygeneruje soubor
> C:\temp\SXXXX1.htm (nebo C:\temp\SXXXX2.htm ...)
> ale nikdy ne C:\temp\SXXXX.htm ?

Funkce WritePagesToHtml je urcena pro export vsech stranek tiskove sestavy a
jednotlive stranky v samostatnych souborech automaticky cisluje pridanim
poradoveho cisla do nazvu souboru.

Pro export jedne konkretni stranky je urcena funkce WritePageToHtml, ktera
uz poradove cislo do nazvu souboru nepridava.

Formatovani vystupu do jednotlivych stranek odpovida formatu papiru
pouziteho pri navrhu predlohy sestavy. Pokud by byl zajem udelat cely export
do jedine dlouhe HTML stranky, pak jsou tri ruzne moznosti:
- pouzit v predloze sestavy uzivatelsky, dostatecne dlouhy papir
- nastavit pred exportem property sestavy AutoPageSize na true, tim se
stranka automaticky natahne sama
- pouzit pro export funkci WritePagesToHtmlPage, tim se interne provede
nastaveni AutoPageSize samo

Vaclav Krmela

Sinea - CSV export

[*] Petr Hlozek <petr h(zv)mrp(tec)cz> - 22.7.2008 10:13:59

Vaclav Krmela napsal(a):
> Pro zhusteny vystup bez mezer Sineu lze pouzit, ale moc elegantni to neni. V
> predloze by se musela navrhnout uzivatelska funkce, ve ktere by se secetly
> vsechny datove polozky vcetne oddelovacu. V tele predlohy tiskove sestavy by
> pak byl jen jeden velmi siroky prvek a to vysledek teto uzivatelske funkce.

Narazil jsem na problem, pokud mel argument funkce vic jak 256 znaku. To
se lehce stane pokud je polozek hodne a je nutne obcas pouzit ltrim. Pak
je problem a vyse uvedeny postup neni mozny.

Petr

Automaticka aktualizace aplikace

[*] Mgr. Martin Radvansky <delphiconf(zv)radvansky(tec)net> - 20.7.2008 19:17:04

Dobry den,
20. cervence 2008, 18:47:01, napsal jste:

ED> Ale ta komponenta je snad primo v programu ne? A pokud byly u programu
ED> nastaveny prava administratora.... Spustit jako spravce.... Tak podle me
ED> muze zapisovat bez omezeni. Takze ma predstava je takova, ze napoprve
ED> nainstaluji jako spravce program sam, nastavim mu administratorska prava a
ED> pak uz bezi sam.

Aplikace prece nema co bezet s administratorskymi pravy, cokoliv pak z
ni spustis, ma tyto prava take a tudiz je to bezpecnostni problem.

Nehlede na to ze bez vypnuteho UAC bude aplikace chtit elevaci prav

--
S pozdravem,
Mgr. Martin Radvansky

Automaticka aktualizace aplikace

[*] Emil Dorner <emildor(zv)seznam(tec)cz> - 20.7.2008 18:47:01

Ale ta komponenta je snad primo v programu ne? A pokud byly u programu
nastaveny prava administratora.... Spustit jako spravce.... Tak podle me
muze zapisovat bez omezeni. Takze ma predstava je takova, ze napoprve
nainstaluji jako spravce program sam, nastavim mu administratorska prava a
pak uz bezi sam.

-----Original Message-----
From: delphi-l-owner(zv)clexpert(tec)cz [mailto:delphi-l-owner(zv)clexpert(tec)cz] On
Behalf Of Mgr. Martin Radvansky
Sent: Sunday, July 20, 2008 4:49 PM
To: delphi-l(zv)clexpert(tec)cz
Subject: Re: Automaticka aktualizace aplikace

Dobry den,
20. cervence 2008, 15:22:47, napsal jste:

ED> Nevim, jestli nebudu ted nahodou mimo misu, ale jaky je problem zjistit
na
ED> serveru pritomnost nove verze programu, potazmo dalsich souboru a
ED> existuje-li, stahnout soubory a restartovat aplikaci? Bez zasahu
cloveka,
ED> ktery aplikaci obsluhuje. Tomu se muze max. oznamit, ze program bude
ED> restartovan. Vzdyt to umi napr. komponenta acAutoUpgrader

Jenze tady puvodne neslo o to co pises, ale jak udelat aktualizaci a pritom
nemenit prava nastaveni prav. Jako User nemuzes do slozky PF
zapisovat, takze jak tam udelas tu aktualizaci bez toho aby jsi byl
administrator a na vistach bez vypnuteho UAC?

--
S pozdravem,
Mgr. Martin Radvansky

Thready a zobrazovani zprav v hlavnim okne

[*] Vaclav Halik <spravasd(zv)suz.cvut(tec)cz> - 11.7.2008 13:42:34

Zdravim,
mam dva spise medotice problemy s pouzitim vlaken:

Mam aplikaci ktera ma hlavni okno coz je v podstate casovy
seznam planu operaci ktere ma provadet a Log. Aplikace bude
podle uzivatelem definovanych planu a pravidel provdet exporty
a replikace mezi zatim dvema pozdej vice IS ruznych vyrobcu.

Aplikace si dynamicky vytvori a spusti v pripade potreby vlakna
pro tyto operace, kazde takove vlakno si muze vytvorit dalsi vlakna
pro narocne/zdrzujici operace, jako je testovani spojeni, pripojeni k DB,
inicializace remote COM po siti atd. Vysledky behu se loguji do Logu.

Logovani je bez problemu, protoze pouzivam nejjednodusi postup, tedy
ze do logu pise vlakno, ktere se tam zrovna dostalo a ostatni musi cekat
protoze logovani provadi jediny objekt a vlakna mu jen davaji nove zpravy.

Problemu 1:
--------------------
Jak vyresit situaci kdy si kazde vlakno zmeni svoje data, ale ja potrebuju
na zaklade toho take zobrazit ze doslo treba k provedeni tohoto planu.

Napadlo mne vice reseni, ale nejak si nejsem jisty co by bylo to NEJ.
Jako celkem prohledne reseni, ktere nebude bastit moc casu se mi zda
postup kdy vsechna vlakna budou zapisovat do jedine sdilene promene
pozadavek na oboveni zobrazeni a timer po cca treba 10 sekundach
otestuje tuto promenou a provede novy vypis. Nelibi se mi na tom ovsem
ten Timer. Ale chtel bych se vyhnout necou jako je ProcessMessage.

Co by jste doporucili ? Pripadne ma nekdo tento postup odzkouseny u
aplikace s cca max desitkami vlaken ?

Problem 2:
-------------------
Jaky je nejlepsi zpusob pro reseni situace, kdy jedno vlakno ceka na
vysledek operace dalsich podrizenych vlaken a muze pokracovat jen
kdyz jsou vsechna tato vlakna ukoncena.

Napada mne neco jako:
function WaitForThreadsDone : Boolean;
vat
TimeInterval : Integer;
AllDone : Boolean;
const
TimeOut : Integer = 60000;

begin
TimeInterval := 0;
AllDone := False;

while TimeInterval <= TimeOut do
begin
if Tread1Done and Tread2Done then
begin
AllDone := True;
Break;
end else
Sleep(1000);

TimeInterval := TimeInterval + 1000;
end;

Return := AllDone;
end;

Je to bezpecne ? Nejde to vyresit nejak elegantneji ?


Budu rad za kazde nakopnuti spravnym smerem.
Vaclav Halik


Jak ukoncit proces spusteny pomoci ShellExecut eEx

[*] Jaroslav Rubes <jrubes(zv)epass(tec)cz> - 10.7.2008 16:20:54

Zdravim,

resim problem, jak z moji aplikace vytisknout soubor PDF pres asociovany
program - rekneme Adobe Reader.
K tisku pouzivam funkci ShellExecuteEx s parametrem 'print', bohuzel okno
Adobe Readeru zustane po vytisknuti otevrene.
Zatim jsem neprisel na lepsi zpusob jak ukoncit Adobe, nez pomoci fce
TerminateProcess.
Jenze pouzit TerminateProcess mi pripada jako dost krajni reseni, nevedel by
nekdo o lepsim zpusobu?

JR.

Synapse - HttpGetText - chybna response

[*] Jarda <jarecek.b(zv)gmail(tec)com> - 10.7.2008 15:24:48

Samozrejme mas pravdu!
Beru si z toho ponauceni: kontrolovat hlavicku na "Content-Encoding" a
na kompresovana nepouzivat "HttpGetText".
Moc dekuji za tvoji snahu me nakopnout spravnym smerem.
Mozna je to trochu mimo misu, ale nestalo by za uvahu naucit Synapsi
rozpoznat kompresovanou responsi a eventuelne dekomprosovat?> Jednoduse... kdyz je to zakompresovane, tak jsou ta data binarni!
> Takze je tezko muzu beze ztraty kvetinky cpat do stringlistu. Proto
> jsem si je stahnul do streamu...

svatky vikendy

[*] Milan Tomes <delphi(zv)haida(tec)cz> - 11.7.2008 08:42:09

Svatky jsou fixni (takze bud tabulka v DB, nebo nejake jine reseni -
konstantni pole apod.), jediny problem jsou velikonoce a tam zkus
zagooglit - Oudinuv algoritmus nebo ti mozna pomuze tahle funkce:

{-----------------------------------------------------------------------------
Procedure: EasternDate
Date: 16-V-2005
Arguments: Year: word
Result: TDate
Vypocet data velikonoc dle Oudinova algoritmu
http://optnw.upol(tec)cz/bajer/texty/velikonoce.html
-----------------------------------------------------------------------------}

function EasternDate(Year: word): TDate;
var
Century: integer;
G, K, I, J, L, Month, Day: integer;
begin
Century := Year div 100;
G := Year mod 19;
K := (Century - 17) div 25;
I := (Century - (Century div 4) - ((Century - K) div 3) + (19 * G) +
15) mod 30;
I := I - ((I div 28) * (1 - (I div 28) * (29 div (I + 1)) * ((21 - G)
div 11)));
J := (Year + (Year div 4) + I + 2 - Century + (Century div 4)) mod 7;
L := I - J;
Month := 3 + ((L + 40) div 44);
Day := L + 28 - (31 * (Month div 4));
Result := EncodeDate(Year, Month, Day) + 1;
end;

S pozdravem

Milan Tomes

MUDr. Patrik Valenta napsal(a):
> jak do aplikace k planovani sluzeb zjistit, ktere dny jsou svatky (napr.
> Cyril+Metodej, velikonoce). Vikendy jsou jasny.
>
>

Synapse - HttpGetText - chybna response

[*] Jarda <jarecek.b(zv)gmail(tec)com> - 10.7.2008 14:08:41

Dekuji za pomoc, ale asi uz mi nefunguje mozek :-(
Kdyz udelam tento test:

procedure TForm1.Button1Click(Sender: TObject);
var
data:TStrings;
begin
data:=TStringList.Create;
if HttpGetText('http://meta.wikimedia.org/wiki/List_of_Wikibooks',data) then
ShowMessage(IntToStr(Length(data.Text)));
data.Free;
end;

dostanu "5". A to se mi zda divne. Jak jsi zjistil, ze jsou vracena
vsechna data?

2008/7/10 Lukas Gebauer <gebylist(zv)mlp(tec)cz>:
>> Puvodne jsem zkousel stable 38 a ted jsem totez zkusil na nejnovejsi
>> (https://synalist.svn.sourceforge.net/svnroot/synalist/trunk/).
>> Bohuzel obe se chovaji stejne.
>
> Koukam na to, zkusim to horem dolem, a vraci to vsechna data, ktera
> server poslal. ;-)
>
> Problem bude ale v tom, ze ten server posila data zakompresovana
> gzipem, i kdyz to klient (Synapse) po nem nechtel? Tady pokud chces
> tu stranku zobrazit, musis si to pred tim dekompresovat, napriklad
> pomoci BZip (Delphi na toto podporu maji...). Jinak se pokousis
> koukat na binarni zakompresovana data...

O: Dekryptovani

[*] Ludan <konference(zv)sales(tec)cz> - 22.7.2008 10:58:04

Zdravim
Mel bych praci pro nekoho kdo se dobre dobre vyznate v desifrovani.
Odpovedi prosim na soukromy mail konference(zv)sales(tec)cz.


Predem diky.
Ludek

Sinea - CSV export

[*] Vaclav Krmela <krmela(zv)ustinadorlici(tec)cz> - 22.7.2008 11:22:05

Je to tak. Jako prezitek z doby Delphi1 tam je omezeni na delku funkcniho
vyrazu na 256 znaku.
Sam na export co CSV Sineu nepouzivam, takze jsem si to neuvedomil.
Problem je pouze ve funkcnim vyrazu, nikoliv v hodnote vysledku, takze by se
dal pouzit trik se sectenim nekolika dilcich funkci. Ale v kazdem pripade
pro export do CSV je jednodussi napsat trivialni procedurku, nez se snazit
pouzit generator tiskovych sestav.

Vaclav Krmela

----- Original Message -----
From: "Petr Hlozek" <petr_h(zv)mrp(tec)cz>
>> Pro zhusteny vystup bez mezer Sineu lze pouzit, ale moc elegantni to
>> neni. V
>> predloze by se musela navrhnout uzivatelska funkce, ve ktere by se
>> secetly
>> vsechny datove polozky vcetne oddelovacu. V tele predlohy tiskove sestavy
>> by
>> pak byl jen jeden velmi siroky prvek a to vysledek teto uzivatelske
>> funkce.
>
> Narazil jsem na problem, pokud mel argument funkce vic jak 256 znaku. To
> se lehce stane pokud je polozek hodne a je nutne obcas pouzit ltrim. Pak
> je problem a vyse uvedeny postup neni mozny.

Overeni certifikatu pomoci Crypto API

[*] Pavel Gazda <pavel gazda(zv)datasw(tec)cz> - 22.7.2008 13:06:14

Zdravim,

muze mi nejaka dobra duse pomoct? Nedari se mi.

Potrebuji overit existenci osobniho certifikatu v ulozisti Windows
( pripadne pozdeji zjistit seznam a overit platnost pro podpis ).

Nechci pouzivat CAPICOM, protoze by se muselo instalovat
na kazdy pocitac, kde bych chtel takovou funkci spustit.

Zkousim Crypto Api, ale nic mi nefunguje, uz ani nevim
co a jak jsem zkousel a co jsem jeste nezkusil.

Na internetu jsem nenasel priklady na praci s ulozistem.

Diky

Pavel

Overeni certifikatu pomoci Crypto API

[*] Milan Tomes <delphi(zv)haida(tec)cz> - 22.7.2008 13:28:16

Na MSDN jsou pro tyto funkce (CertOpenStore, CertEnumCertificatesInStore
a CertCloseStore) pomerne hezke a rozsahle priklady. Pokud umis alespon
trochu syntaxi Cecka, tak bys nemel mit nejake zasadni problemy.

M. Tomes

Pavel Gazda napsal(a):
> Potrebuji overit existenci osobniho certifikatu v ulozisti Windows
> ( pripadne pozdeji zjistit seznam a overit platnost pro podpis ).
>
> Zkousim Crypto Api, ale nic mi nefunguje, uz ani nevim
> co a jak jsem zkousel a co jsem jeste nezkusil.
>

Overeni certifikatu pomoci Crypto API

[*] Pavel Gazda <pavel gazda(zv)datasw(tec)cz> - 23.7.2008 07:57:46

Uz jsem trochu pokrocil, pouzivam unit Wcrypt2.pas
Zatim nejvetsi problem byl, co pouzit.

Pavel


Milan Tomes napsal(a):
> Na MSDN jsou pro tyto funkce (CertOpenStore, CertEnumCertificatesInStore
> a CertCloseStore) pomerne hezke a rozsahle priklady. Pokud umis alespon
> trochu syntaxi Cecka, tak bys nemel mit nejake zasadni problemy.
>
> M. Tomes
>
> Pavel Gazda napsal(a):
>
>> Potrebuji overit existenci osobniho certifikatu v ulozisti Windows
>> ( pripadne pozdeji zjistit seznam a overit platnost pro podpis ).
>>
>> Zkousim Crypto Api, ale nic mi nefunguje, uz ani nevim
>> co a jak jsem zkousel a co jsem jeste nezkusil.
>>
>>
>
>
>

Nahrada ActiveX Formule 1.

[*] AntonT(zv)email(tec)cz <antont(zv)email(tec)cz> - 22.7.2008 14:14:19

Dobry den,
ve svem projektu dosud vyuzivam pro nektere vystupy komponentu %subj%.
Hledam za ni nahradu, protoze v nekterych ohledech nevyhovuje a hlavne
se jiz leta nevyviji . Zkousel jsem napriklad dobrou komponentu
spreadsheet od DevExpress, ale neni to uplne idealni(chybi napr.
ukotveni pricek(freeze panes)). Mate nekdo typ popr. zkusenosti s touto
nebo podobnymi komponentami. Diky za kazdou radu.
Antonin Turecek
Delphi 7

ftp prenos

[*] Jan Stefec <stefec(zv)algo-hk(tec)cz> - 23.7.2008 13:04:15

Pekny den preju vsem!
Potrebuju naucit aplikaci napsanou v D2006 stahovat z ftp serveru
soubory. Poradite nekdo, jak na to?
Diky Honza

ftp prenos

[*] Pavel Gazda <pavel gazda(zv)datasw(tec)cz> - 23.7.2008 14:20:23

Ahoj,

najdi si SYNAPSE,
podivej se na demo

Pavel

Jan Stefec napsal(a):
> Pekny den preju vsem!
> Potrebuju naucit aplikaci napsanou v D2006 stahovat z ftp serveru
> soubory. Poradite nekdo, jak na to?
> Diky Honza
>

ftp prenos

[*] Petr Zahradnik <clexpert(zv)clexpert(tec)cz> - 23.7.2008 15:20:28

Puvodni zprava ze dne 23.7.2008 od Jan Stefec:

> Potrebuju naucit aplikaci napsanou v D2006 stahovat z ftp serveru
> soubory. Poradite nekdo, jak na to?

Najdi si Indy a podivej na demo.

Petr Zahradnik, pocitacovy expert

==========================================================
Petr Zahradnik, Computer Laboratory


web: http://www.clexpert(tec)cz, e-mail: clexpert(zv)clexpert(tec)cz

==========================================================


ftp prenos

[*] Erik Salaj <winsoft(zv)netkosice.sk> - 23.7.2008 15:12:27

> Potrebuju naucit aplikaci napsanou v D2006 stahovat z ftp serveru
> soubory. Poradite nekdo, jak na to?

pozri Microsoft WinInet API

Erik Salaj

okna procesu

[*] Petr Langer <p.langer(zv)nexnet(tec)cz> - 23.7.2008 21:57:00

Nelze jednoznacne urcit co je to "hlavni okno aplikace", ale k
pravdepodobnemu urceni muze slouzit funkce "GetMainAppWndFromPid" z
JclSysInfo.pas

HTH,
pl

Petr Mathon wrote:
> Zdravim
>
> Jak ziskat handle hlavniho okna aplikace pro PostMessage, kdyz znam jeho TPROCESSENTRY32, tedy ProcessId.
>
> Petr Mathon

okna procesu

[*] Petr Mathon <dveste zar(zv)quick(tec)cz> - 23.7.2008 21:34:58

Zdravim

Jak ziskat handle hlavniho okna aplikace pro PostMessage, kdyz znam jeho TPROCESSENTRY32, tedy ProcessId.

Petr Mathon


ZIP Komponenta

[*] Pavel Malinsky <malinsky(zv)pmcom(tec)cz> - 28.7.2008 09:42:39

> nemate nekdo nejaky tip na free komponentu pro praci s zip
> archivy pro
> BDS2006? Potrebuji v programu rozbalit zazipovany textak.

http://sourceforge.net/projects/tpabbrevia/

PMal


ZIP Komponenta

[*] Jan Stefec <stefec(zv)algo-hk(tec)cz> - 28.7.2008 09:38:39

Preji pekny den,
nemate nekdo nejaky tip na free komponentu pro praci s zip archivy pro
BDS2006? Potrebuji v programu rozbalit zazipovany textak.

Diky Honza

Je system plne spusten a pripraven?

[*] Jiri Cincura <diskuze(zv)cincura(tec)net> - 30.7.2008 00:14:21

Nebylo by lepsi napsat si vlastni sluzbu na 10 radku, ktere nastavis
dependecy na tu/ty kterou/ktere potrebujes. A ta, jakmile nabehne,
zapise neco na nejake well-known misto a a tvoje aplikace dokonci
start. IMO je to jednodussi nez se snazit vselijak zjistovat stavy
sluzeb. Obecne to mas dostatecne, dependency muzes nastavovat jak je
libo treba pres MMC konzolu.

--
Jiri {x2} Cincura (CTO x2develop.com)
http://blog.vyvojar(tec)cz/jirka/ | http://www.ID3renamer.com

Stazeni aktualizace z FTP

[*] Petr Zahradnik <clexpert(zv)clexpert(tec)cz> - 29.7.2008 16:31:36

Puvodni zprava ze dne 29.7.2008 od delphi(zv)mjsoft(tec)cz:

> Mam jedmoduchy program, ktery si stahuje z FTP instalacku
> aktualizace. Nakopiruje si ji k sobe do slozky, vypne se a spusti
> instalaci. Funguje to bez problemu dlouho. Ted je ale problem na
> nekterych pocitacich s Vistama. Vypada to ze me nepovoli ulozit
> instalacku, "Cannot create file ....", do slozky programu (v
> c:\Program Files\....). Zajimave je, ze na mem notebooku s VIstama
> to jde, takze to nemuzu ani vyzkouset.

> Nevite nekdo s lepsimi znalostmi Vista, proc to nejde? Lze pouzit
> jinou slozku? Treba TEMP? Fungovalo by to?

> Diky predem za nakopnuti.

Nakopat by te mel kazdy zakaznik, ktery za tu silenost snad dokonce
zaplatil. Od dob Windows NT se do Program Files nedavaji programove
zadne soubory. Ja nechapu, jaktoze nekdo po 10 letech jeste programuje
timto zpusobem pro Windows 95/98.

Pred nakupem Delphi doporucuji si o programovani neco malo precist.
Tohle jsou zasady stare mnoho let a presto je jeste spousta
"programatoru" nevidela.

Jako sorry, ale to je pekna cunarna, to se na me nezlob. Nedavno jsem
instaloval Visty a podobnych aplikaci jsem nasel vic, protoze mam
programu tuny. Kdyby se mi ti programatori dostali pod ruku, tak bych
vrazdil.

Petr Zahradnik, pocitacovy expert

==========================================================
Petr Zahradnik, Computer Laboratory


web: http://www.clexpert(tec)cz, e-mail: clexpert(zv)clexpert(tec)cz

==========================================================


Je system plne spusten a pripraven?

[*] Jiri Koula <dino(zv)atrey.karlin.mff.cuni(tec)cz> - 29.7.2008 17:11:41

Zdar,

> To by problem byt nemel, ale nebylo by nejake obecne reseni, kdy budu potrebovat spustit jine nebo treba vice externich aplikaci, ktere budou pozadovat ruzne sluzby?

obecne reseni? Dobre, co znamena, ze system "uplne nabehl vcetne vsech sluzeb"?
Ze bezi vsechny sluzby, ktere by se mely spustit pri startu/prihlaseni? Co kdyz
system zkusil tyto sluzby spustit, ale u nekterych se to z nejakeho duvodu
nepodarilo, je to v poradku? Co kdyz jedna sluzba ma za ukol po spusteni spustit
jinou (a tato neni v seznamu spoustenych systemem) a ta se nespustila, je to v
poradku?

Obecne reseni IMHO je otestovat, zda bezi prave to, co potrebuju, a dle vysledku se patricne zaridit. Cekat, az nabehnou vsechny programy z nejakeho seznamu, aniz bych vetsinu z nich k necemu potreboval, mi neprijde zrovna dvakrat stastne.

Lepsi je vedet, jake ma zavislosti aplikace, kterou chci spustit, a testovat, zda jsou splneny.

Jirka Koula

Stazeni aktualizace z FTP

[*] Petr Vones <conference(zv)petrvones(tec)net> - 29.7.2008 16:27:35

From: <delphi(zv)mjsoft(tec)cz>
> Nakopiruje si ji k sobe do slozky, vypne se a spusti instalaci. Funguje to
> bez problemu dlouho. Ted je ale problem na nekterych pocitacich s Vistama.
> Vypada to ze me nepovoli ulozit instalacku, "Cannot create file ....", do
> slozky programu (v c:\Program Files\....). Zajimave je, ze na mem
> notebooku

Doporucuji nedavnou diskuzi se subjectem "Automaticka aktualizace aplikace"
a pak si take neco precist jak funguji Windows (od verze NT 4.0 vyse), co
jsou to uzivatelska prava a bezpecnost.

Petr Vones

Stazeni aktualizace z FTP

[*] delphi(zv)mjsoft(tec)cz - 29.7.2008 16:15:34

Zdravim,

Mam jedmoduchy program, ktery si stahuje z FTP instalacku aktualizace.
Nakopiruje si ji k sobe do slozky, vypne se a spusti instalaci. Funguje to
bez problemu dlouho. Ted je ale problem na nekterych pocitacich s Vistama.
Vypada to ze me nepovoli ulozit instalacku, "Cannot create file ....", do
slozky programu (v c:\Program Files\....). Zajimave je, ze na mem notebooku
s VIstama to jde, takze to nemuzu ani vyzkouset.

Nevite nekdo s lepsimi znalostmi Vista, proc to nejde? Lze pouzit jinou
slozku? Treba TEMP? Fungovalo by to?

Diky predem za nakopnuti.
Jindra


3306 (20080729)
__________



Je system plne spusten a pripraven?

[*] Cabak Pavel <delphikonf(zv)cross(tec)cz> - 29.7.2008 15:55:32

To by problem byt nemel, ale nebylo by nejake obecne reseni, kdy budu potrebovat spustit jine nebo treba vice externich aplikaci, ktere budou pozadovat ruzne sluzby?

Pavel Cabak
cabak(zv)cross(tec)cz

-----Original Message-----
From: delphi-l-owner(zv)clexpert(tec)cz [mailto:delphi-l-owner(zv)clexpert(tec)cz] On Behalf Of Dalibor Toman
Posted At: Tuesday, July 29, 2008 12:25 PM
Posted To: Delphi konference
Conversation: Je system plne spusten a pripraven?
Subject: Re: Je system plne spusten a pripraven?

On Tuesday, July 29, 2008 10:53 AM ,
Cabak Pavel <delphikonf(zv)cross(tec)cz> wrote:

> Ahojte,
>
>
> existuje nejaka spolehliva metoda, jak zjistit, ze system Windows po
> zapnuti pocitace uz uplne nabehl vcetne vsech sluzeb?
>
> ... je potreba, aby byly ovladace pro DirectX uz dostupne ...
>

predpokladam, ze by nemel byt problem si zjistit ze DirectX API je
funkcni a pak teprve spustit tu aplikaci.

D. Toman

Je system plne spusten a pripraven?

[*] Dalibor Toman <dtoman(zv)fortech(tec)cz> - 29.7.2008 12:25:13

On Tuesday, July 29, 2008 10:53 AM ,
Cabak Pavel <delphikonf(zv)cross(tec)cz> wrote:

> Ahojte,
>
>
> existuje nejaka spolehliva metoda, jak zjistit, ze system Windows po
> zapnuti pocitace uz uplne nabehl vcetne vsech sluzeb?
>
> Misto klasickeho shellu (explorer.exe) se spousti muj program a ted
> potrebuji spustit jeste i dalsi aplikaci treti strany. S moji
> aplikaci problem nemam, ale pro spravny beh te externi aplikace
> (kamerovy system) je potreba, aby byly ovladace pro DirectX uz
> dostupne. Zatim to resim timerem, ze cekam asi minutu a pak to
> spustim. Na jinem stroji se to ale bude urcite chovat jinak, takze
> bych rad co nejrychleji tento zpusob opustil.
>

predpokladam, ze by nemel byt problem si zjistit ze DirectX API je
funkcni a pak teprve spustit tu aplikaci.

D. Toman

Je system plne spusten a pripraven?

[*] Cabak Pavel <delphikonf(zv)cross(tec)cz> - 29.7.2008 10:53:06

Ahojte,



existuje nejaka spolehliva metoda, jak zjistit, ze system Windows po zapnuti pocitace uz uplne nabehl vcetne vsech sluzeb?

Misto klasickeho shellu (explorer.exe) se spousti muj program a ted potrebuji spustit jeste i dalsi aplikaci treti strany. S moji aplikaci problem nemam, ale pro spravny beh te externi aplikace (kamerovy system) je potreba, aby byly ovladace pro DirectX uz dostupne. Zatim to resim timerem, ze cekam asi minutu a pak to spustim. Na jinem stroji se to ale bude urcite chovat jinak, takze bych rad co nejrychleji tento zpusob opustil.

Nemate nekdo spolehlivejsi reseni?



Diky za info,



Pavel Cabak

cabak(zv)cross(tec)cz



Delphi 4, WinXP

Vicemonitorova aplikace

[*] delphin(zv)post(tec)cz - 30.7.2008 11:20:33

> Jakym zpusobem muzu donutit jednotlive formulare, aby se zobrazovaly na
> tom ci onom monitoru? Zatim to resim tak, ze je v rezimu navrhu "placnu"
> tam, kam je potreba, ale nejsem si jist tim, jestli je to to prave
> orechove. Dalsi problem nastane, pokud se obsluha snazi okno, ktere
> divak videt nema, presunout na druhy monitor. Mohu nejak formulari
> vysvetlit, aby zustal jen na monitoru, na kterem je potreba?

Neni to spravne, protoze nikdy nevite, jak to uzivatel bude mit a dokonce jsou lide, kteri maji primarni monitor napravo a sekundarni nalevo.
Screen.MonitorCount a Screen.Monitors si zjistite souradnice jednotlivych monitoru a pak formulari normalne priradite BoundsRect.

Vicemonitorova aplikace

[*] Milan Tomes <delphi(zv)haida(tec)cz> - 30.7.2008 11:20:33

Podivej se na Screen.Monitors. Jsou tam property, ktere budes moci
pouzit. Obecne se da rict, ze na Windows jsou dve moznosti provozu
monitoru s tim, ze tebe bude zajimat jen jeden z nich - rozsireni
pracovni plochy na oba.

Milan Tomes

Vladimir Otruba napsal(a):
> Jakym zpusobem muzu donutit jednotlive formulare, aby se zobrazovaly na
> tom ci onom monitoru? Zatim to resim tak, ze je v rezimu navrhu "placnu"
> tam, kam je potreba, ale nejsem si jist tim, jestli je to to prave
> orechove. Dalsi problem nastane, pokud se obsluha snazi okno, ktere
> divak videt nema, presunout na druhy monitor. Mohu nejak formulari
> vysvetlit, aby zustal jen na monitoru, na kterem je potreba

Vicemonitorova aplikace

[*] Vladimir Otruba <otruba.ml(zv)papirna(tec)cz> - 30.7.2008 11:10:32

Zdravim,
mam za ukol napsat jednoduchou aplikaci, ktera by plnila ulohu
informacni tabule. K PC jsou pripojene 2 monitory, jeden vidi obsluha,
druhy monitor je pristupny divakovi. Nic tezkeho. Pisu to v Delphi 5.
Ale ja osobne nemam zadne zkusenosti s vice monitory, ani google
neporadil (snad jsem jen blbe hledal).

Jakym zpusobem muzu donutit jednotlive formulare, aby se zobrazovaly na
tom ci onom monitoru? Zatim to resim tak, ze je v rezimu navrhu "placnu"
tam, kam je potreba, ale nejsem si jist tim, jestli je to to prave
orechove. Dalsi problem nastane, pokud se obsluha snazi okno, ktere
divak videt nema, presunout na druhy monitor. Mohu nejak formulari
vysvetlit, aby zustal jen na monitoru, na kterem je potreba?

Diky a preji pekny den.

Je system plne spusten a pripraven?

[*] Cabak Pavel <delphikonf(zv)cross(tec)cz> - 30.7.2008 08:24:03

Diky, to je spravna pripominka. Obcas je clovek zameren jednim smerem, ma klapky na ocich a okoli moc nevnima. Jednoduche obecne reseni v tomto pripade asi fakt neexistuje.

Pavel Cabak
cabak(zv)cross(tec)cz


-----Original Message-----
From: delphi-l-owner(zv)clexpert(tec)cz [mailto:delphi-l-owner(zv)clexpert(tec)cz] On Behalf Of Jiri Koula
Posted At: Tuesday, July 29, 2008 5:12 PM
Posted To: Delphi konference
Conversation: Je system plne spusten a pripraven?
Subject: Re: Je system plne spusten a pripraven?

Zdar,

> To by problem byt nemel, ale nebylo by nejake obecne reseni, kdy budu potrebovat spustit jine nebo treba vice externich aplikaci, ktere budou pozadovat ruzne sluzby?

obecne reseni? Dobre, co znamena, ze system "uplne nabehl vcetne vsech sluzeb"?
Ze bezi vsechny sluzby, ktere by se mely spustit pri startu/prihlaseni? Co kdyz
system zkusil tyto sluzby spustit, ale u nekterych se to z nejakeho duvodu
nepodarilo, je to v poradku? Co kdyz jedna sluzba ma za ukol po spusteni spustit
jinou (a tato neni v seznamu spoustenych systemem) a ta se nespustila, je to v
poradku?

Obecne reseni IMHO je otestovat, zda bezi prave to, co potrebuju, a dle vysledku se patricne zaridit. Cekat, az nabehnou vsechny programy z nejakeho seznamu, aniz bych vetsinu z nich k necemu potreboval, mi neprijde zrovna dvakrat stastne.

Lepsi je vedet, jake ma zavislosti aplikace, kterou chci spustit, a testovat, zda jsou splneny.

Jirka Koula


Firebird, velmi pomaly start aplikace

[*] Jiri Sladek <sladek(zv)czhops(tec)cz> - 01.8.2008 20:32:41

Zdravim, prosim o nasmerovani.

V D5 vytvarim aplikaci, ktera pracuje s daty ve FB 2.04.
Zjistil jsem, ze ta aplikace startuje velmi pomalu na nekterych pocitacich.

Pomalu to startuje za nasledujicich podminek:
kdyz se jedna o lokalni provoz (aplikace i FB jsou nainstalovany na teze stanici)
a zaroven
je ve stanici pouzit jednojadrovy procesor
a zaroven
jede to pod WinXP SP2 (sp1 nebo sp0 jsem nezkousel)

Rychle to startuje, kdyz:
aplikace a FB jedou na ruznych stanicich, i jednojadrovych
nebo
kdyz ve stanici je dvoujadrovy procesor
nebo
kdyz to pustim na starem vraku s Celeronem 500MHz pod Win98 (!!!)

Vyklad pojmu:
Rychle startuje = 2 az 5 vterin
Pomalu startuje = 12 az 50 vterin (mezi Splash oknem a Login oknem je dlouha prodleva)

Instalace FB 2.04 je defaultni, nic jsem nenastavoval.
Pouzivam komponenty IBX (soucast D5 Pro)
Nepodarilo se mi vygooglit reseni problemu.
Mate nekdo napad, co s tim??

Diky.
Jiri Sladek
sladek czhops cz


Firebird, velmi pomaly start aplikace

[*] Jiri Sladek <sladek(zv)czhops(tec)cz> - 02.8.2008 17:29:03

> Zkontroluj jestli na tech pc nebezi Kerio Personal Firewall. (pripadne
> jiny FW)
> F.Sevcik
>
KPF tam nebezi, Windows Firewall jsem vypnul. Nepomohlo.
J.Sladek

Firebird, velmi pomaly start aplikace

[*] Jiri Sladek <sladek(zv)czhops(tec)cz> - 02.8.2008 15:26:53

> Lokalni myslis pres localhost?
> Jiri {x2} Cincura (CTO x2develop.com)

Dekuji Jirkovi Cincurovi za nasmerovani.

Zjistil jsem, ze rychlost startu i behu aplikace na tech strojich hodne
zavisi na tom, jak specifikuju pripojeni k databazi:

192.168.1.166:C:\adresar\databaze.fdb namerene casy startu: 11sec 12sec
JmenoPocitace:C:\adresar\databaze.fdb 11 11
localhost:C:\adresar\databaze.fdb 11 11
127.0.0.1:C:\adresar\databaze.fdb 7 11
\\192.168.1.166\C:\adresar\databaze.fdb 3 2
\\JmenoPocitace\C:\adresar\databaze.fdb 36 39
\\localhost\C:\adresar\databaze.fdb neslo spustit
\\127.0.0.1\C:\adresar\databaze.fdb 2 2
C:\adresar\databaze.fdb 1 1

Jako nejvhodnejsi se mi tedy jevi predposledni radek, s ohledem na Poznamku,
kterou jsem nasel v konferenci, viz nize.

Dodavam, ze ty rychlostni problemy jsem mel a resil na
jedno-jadrovo-procesorovych strojich, pod WinXPsp2 a pri 'lokalnim' provozu
(db i app na temze stroji).

Jiri Sladek


Poznamka, kterou jsem nasel v konferenci:
i v lokalnim provozu je lepsi se pripojovat k databazi "sitove"
pres localhost, nebo 127.0.0.1. Pokud se pripojite "nesitove", tj. zadate
jen cestu a nazev databaze, potom v pripade, ze se pripojite k databazi
vicekrat soucasne, napr. ze dvou ruznych programu, muze dojit ke zbourani
Firebirdu, protoze tato soucasna pripojeni budou mit stejnou vnitnrni cache.
Ale pokud se pripojite sitove, byt s lokalni ip adresou, bude mit kazde
pripojeni svou cache. Je to receno zjednodusene, podrobne je to popsano a
vysvetleno v knizce o Firebirdu od Pavla Cisare, vydalo CPress.

Firebird, velmi pomaly start aplikace

[*] Jiri Sladek <sladek(zv)czhops(tec)cz> - 02.8.2008 12:54:40

> Je pomale pripojeni nebo dalsi zpracovani?

Pomale jsou vsechny akce, pri kterych se komunikuje s databazi.

>> kdyz se jedna o lokalni provoz (aplikace i FB jsou nainstalovany na
>> teze stanici)
> Lokalni myslis pres localhost?
Ano, pripojuji se pres localhost nebo JmenoPocitace nebo IP adresu. Vsechny
ty tri moznosti funguji pomalu.

Jiri Sladek

Firebird, velmi pomaly start aplikace

[*] Frantisek Sevcik <sevcik(zv)anexis(tec)cz> - 02.8.2008 09:02:22

Zkontroluj jestli na tech pc nebezi Kerio Personal Firewall. (pripadne
jiny FW)

F.

Jiri Sladek napsal(a):
> Zdravim, prosim o nasmerovani.
>
> V D5 vytvarim aplikaci, ktera pracuje s daty ve FB 2.04.
> Zjistil jsem, ze ta aplikace startuje velmi pomalu na nekterych pocitacich.
>
> Pomalu to startuje za nasledujicich podminek:
> kdyz se jedna o lokalni provoz (aplikace i FB jsou nainstalovany na teze stanici)
> a zaroven
> je ve stanici pouzit jednojadrovy procesor
> a zaroven
> jede to pod WinXP SP2 (sp1 nebo sp0 jsem nezkousel)
>
> Rychle to startuje, kdyz:
> aplikace a FB jedou na ruznych stanicich, i jednojadrovych
> nebo
> kdyz ve stanici je dvoujadrovy procesor
> nebo
> kdyz to pustim na starem vraku s Celeronem 500MHz pod Win98 (!!!)
>
> Vyklad pojmu:
> Rychle startuje = 2 az 5 vterin
> Pomalu startuje = 12 az 50 vterin (mezi Splash oknem a Login oknem je dlouha prodleva)
>
> Instalace FB 2.04 je defaultni, nic jsem nenastavoval.
> Pouzivam komponenty IBX (soucast D5 Pro)
> Nepodarilo se mi vygooglit reseni problemu.
> Mate nekdo napad, co s tim??
>
> Diky.
> Jiri Sladek
> sladek czhops cz
>
>
>

--
Frantisek Sevcik

Anexis s.r.o.
Dr+AOEBfgEP-ansk+AOE- 37
+ANo-st+AO0- nad Labem
400 07

http://obchod.anexis(tec)cz/
http://www.techhelp(tec)cz/
http://www.anexis(tec)cz/
sevcik(zv)anexis(tec)cz
tel.: +-420 47 520 79 44
fax : +-420 47 520 77 44
mob.: +-420 603 825 77 4

Firebird, velmi pomaly start aplikace

[*] Jiri Cincura <diskuze(zv)cincura(tec)net> - 01.8.2008 22:36:53

Je pomale pripojeni nebo dalsi zpracovani?

2008/8/1 Jiri Sladek <sladek(zv)czhops(tec)cz>:
> kdyz se jedna o lokalni provoz (aplikace i FB jsou nainstalovany na teze stanici)

Lokalni myslis pres localhost?
--
Jiri {x2} Cincura (CTO x2develop.com)
http://blog.vyvojar(tec)cz/jirka/ | http://www.ID3renamer.com

TDataSet a vlakna

[*] delphin(zv)post(tec)cz - 04.8.2008 11:32:16

> chtel bych se zeptat na jaky problem muzu narazit, kdyz pouzivam
> komponenty odvozene od TDataSet ve vlaknu?

Pokud nejsou napojeny na vizualni komponenty, tak bez problemu.

> V hlavnim procesu programu je komponenta TDatabase, ktera zajistuje
> propojeni do databaze. Ve vlaknu pak vytvarim za behu komponenty TQuery,
> ktere se na TDatabase napojuji.

Kazde vlakno musi mit svoje pripojeni do databaze, nelze sdilet jedno globalni, zadelavate si na problemy.
Drtiva vetsina databazovych komponent to totiz neumi i kdyz technicky by takove komponenty sly vytvorit.

TDataSet a vlakna

[*] Vlastimil Bartos <bartos(zv)spsmvbr(tec)cz> - 04.8.2008 14:48:32

Dekujeme za bleskove vyrizeni, knihovni system opet funguje. Fakturu
samozrejme proplatime, jakmile nam bude dorucena.

Zdravi Vlastik Bartos
VPS MV v Brne

----- Original Message -----
From: "Heinisch Jiri" <info(zv)drnholec(tec)cz>
To: <delphi-l(zv)clexpert(tec)cz>
Sent: Monday, August 04, 2008 1:00 PM
Subject: Re: TDataSet a vlakna


> A proc si v rovnou v tom vlakne nyvytvorit objekt TDatabase + transakci
?
>
> Tim padem by to melo jit "bez rizika" uplne
>
>
> Ladislav Stary napsal(a):
> > V ramci toho dialogu jsem spustil vlakno, ktere ty sql dotazy provadi.
> >
> > Jestli jsem to dobre pochopil, tak by teda v tomto pripade nemelo dojit
> > k zadnymu problemu s jedinou komponentou TDatabase, protoze dva
> > pozadavky v jednu chvili nemohou nastat (hlavni proces v tu chvili zadne
> > sql dotazy neprovadi).
>
>
>

TDataSet a vlakna

[*] Heinisch Jiri <info(zv)drnholec(tec)cz> - 04.8.2008 13:00:24

A proc si v rovnou v tom vlakne nyvytvorit objekt TDatabase + transakci ?

Tim padem by to melo jit "bez rizika" uplne


Ladislav Stary napsal(a):
> V ramci toho dialogu jsem spustil vlakno, ktere ty sql dotazy provadi.
>
> Jestli jsem to dobre pochopil, tak by teda v tomto pripade nemelo dojit
> k zadnymu problemu s jedinou komponentou TDatabase, protoze dva
> pozadavky v jednu chvili nemohou nastat (hlavni proces v tu chvili zadne
> sql dotazy neprovadi).

TDataSet a vlakna

[*] delphin(zv)post(tec)cz - 04.8.2008 12:50:23

> Jestli jsem to dobre pochopil, tak by teda v tomto pripade nemelo dojit
> k zadnymu problemu s jedinou komponentou TDatabase, protoze dva
> pozadavky v jednu chvili nemohou nastat (hlavni proces v tu chvili zadne
> sql dotazy neprovadi).
>
> Pochopil jsem to spravne?

Pokud mate zajisteno, ze se dva pozadavky najednou nesejdou, melo by to fungovat.

TDataSet a vlakna

[*] Ladislav Stary <stary(zv)ekodat(tec)cz> - 04.8.2008 12:30:21

Zkusim popsat, jak to mam.

Protoze probiha casove narocna operace se spoustou sql dotazu, vytvoril
jsem dialog, kde zobrazuju, co se momentalne provadi, aby aplikace uplne
nezatuhla.

V ramci toho dialogu jsem spustil vlakno, ktere ty sql dotazy provadi.

Jestli jsem to dobre pochopil, tak by teda v tomto pripade nemelo dojit
k zadnymu problemu s jedinou komponentou TDatabase, protoze dva
pozadavky v jednu chvili nemohou nastat (hlavni proces v tu chvili zadne
sql dotazy neprovadi).

Pochopil jsem to spravne?

Vytvoreni noveho DB spojeni v ramci vlakna by znamenalo vyrazne upravil
vytvareni tech db komponent ve vlakne, proto se ptam, nez to cely prekopu.


Ladislav Stary

delphin(zv)post(tec)cz napsal(a):
> Funguje jenom diky nahode a jakmile se nevhodne sejdou dva pozadavky v jeden cas, mate v lepsim pripade Access Violation, v horsim nevysvetlitelne vlastnosti aplikace.
>
>

TDataSet a vlakna

[*] delphin(zv)post(tec)cz - 04.8.2008 11:58:19

> To ze to momentalne funguje, je tedy jen nahoda?

Funguje jenom diky nahode a jakmile se nevhodne sejdou dva pozadavky v jeden cas, mate v lepsim pripade Access Violation, v horsim nevysvetlitelne vlastnosti aplikace.

TDataSet a vlakna

[*] Ladislav Stary <stary(zv)ekodat(tec)cz> - 04.8.2008 11:42:17

To ze to momentalne funguje, je tedy jen nahoda?


Ladislav Stary


delphin(zv)post(tec)cz napsal(a):
> Kazde vlakno musi mit svoje pripojeni do databaze, nelze sdilet jedno globalni, zadelavate si na problemy.
> Drtiva vetsina databazovych komponent to totiz neumi i kdyz technicky by takove komponenty sly vytvorit.

TDataSet a vlakna

[*] Ladislav Stary <stary(zv)ekodat(tec)cz> - 04.8.2008 11:20:15

Ahoj,

chtel bych se zeptat na jaky problem muzu narazit, kdyz pouzivam
komponenty odvozene od TDataSet ve vlaknu?

V hlavnim procesu programu je komponenta TDatabase, ktera zajistuje
propojeni do databaze. Ve vlaknu pak vytvarim za behu komponenty TQuery,
ktere se na TDatabase napojuji.

Bez problemu to funguje, ale tady v konferenci jsem narazil na poznamku,
ze se to delat nema.


Diky
Ladislav Stary

Firebird, velmi pomaly start aplikace

[*] delphin(zv)post(tec)cz - 04.8.2008 11:04:14

> Ja jsem to zkousel ve ctyrech sitich a ty dlouhe starty jsem pozoroval
> pokazde, kdyz byly splnene podminky podle prvniho mailu (jednojadro, lokalni
> provoz, WinXPsp2).
>
> A je mozny, ze problemy s DNS se projevi i pri pristupu pres IP?
> 192.168.1.166:C:\adresar\databaze.fdb 11sec 12sec <----dlouhy start,
> pristupuji pres IP
> \\192.168.1.166\C:\adresar\databaze.fdb 3sec 2sec

K lokalnimu Firebirdu se pripojuji takto (ke vzdalenemu pochopitelne vyjma prvniho pokusu):
Prvni pokus "c:\directory\db.gdb"
Druhy pokus "127.0.0.1:c:\directory\db.gdb"
Treti pokus "\\127.0.0.1\c:\directory\db.gdb"

To proto, ze nekdy byly potize s tim, jestli Firebird bezi jako embedded nebo jako service a to prislusna univerzalni unita nevi.
Funguje to, problemy s casem jsem nezaznamenal.

Firebird, velmi pomaly start aplikace

[*] Tomas Krejzek <tomas.krejzek(zv)email(tec)cz> - 04.8.2008 10:10:10

Evidentne mas nejaky problem s TCP/IP protokolem
Protoze to druhe jede pres NetBEUI

Osobne pouzivam WinXP (SPI, potom SPII, nyni SPIII), lokalni pripojeni, 1 procesor,
servery 1.5.3, 1.5.4, 2.0.4, 2.1.1 a nemam sebemensi problem, prihlaseni je - TED.

Tom

Jiri Sladek napsal(a):
>> On Sat, Aug 2, 2008 at 3:26 PM, Jiri Sladek <sladek(zv)czhops(tec)cz> wrote:
>>> Zjistil jsem, ze rychlost startu i behu aplikace na tech strojich hodne
>>> zavisi na tom, jak specifikuju pripojeni k databazi:
>> Tohle dela, kdyz je neco blbe v siti. Ceka to na akce spojene
>> (povetsinou) s DNS.
>> Jiri {x2} Cincura (CTO x2develop.com)
>
> Ja jsem to zkousel ve ctyrech sitich a ty dlouhe starty jsem pozoroval
> pokazde, kdyz byly splnene podminky podle prvniho mailu (jednojadro, lokalni
> provoz, WinXPsp2).
>
> A je mozny, ze problemy s DNS se projevi i pri pristupu pres IP?
> 192.168.1.166:C:\adresar\databaze.fdb 11sec 12sec <----dlouhy start,
> pristupuji pres IP
> \\192.168.1.166\C:\adresar\databaze.fdb 3sec 2sec
>
> Jiri Sladek
>
>
>
> ======================================================================
KP-SYS mail server
http://www.kpsys(tec)cz
+420 466 655 055
======================================================================

Firebird, velmi pomaly start aplikace

[*] Jiri Sladek <sladek(zv)czhops(tec)cz> - 04.8.2008 09:34:07

> On Sat, Aug 2, 2008 at 3:26 PM, Jiri Sladek <sladek(zv)czhops(tec)cz> wrote:
>> Zjistil jsem, ze rychlost startu i behu aplikace na tech strojich hodne
>> zavisi na tom, jak specifikuju pripojeni k databazi:
>
> Tohle dela, kdyz je neco blbe v siti. Ceka to na akce spojene
> (povetsinou) s DNS.
> Jiri {x2} Cincura (CTO x2develop.com)

Ja jsem to zkousel ve ctyrech sitich a ty dlouhe starty jsem pozoroval
pokazde, kdyz byly splnene podminky podle prvniho mailu (jednojadro, lokalni
provoz, WinXPsp2).

A je mozny, ze problemy s DNS se projevi i pri pristupu pres IP?
192.168.1.166:C:\adresar\databaze.fdb 11sec 12sec <----dlouhy start,
pristupuji pres IP
\\192.168.1.166\C:\adresar\databaze.fdb 3sec 2sec

Jiri Sladek

Firebird, velmi pomaly start aplikace

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

On Sat, Aug 2, 2008 at 3:26 PM, Jiri Sladek <sladek(zv)czhops(tec)cz> wrote:
> Zjistil jsem, ze rychlost startu i behu aplikace na tech strojich hodne
> zavisi na tom, jak specifikuju pripojeni k databazi:

Tohle dela, kdyz je neoc blbe v siti. Ceka do na akce spojene
(povetsinou) s DNS.

--
Jiri {x2} Cincura (CTO x2develop.com)
http://blog.vyvojar(tec)cz/jirka/ | http://www.ID3renamer.com

TDataSet a vlakna

[*] Dalibor Faltynek <dalibor.faltynek(zv)orgrez(tec)cz> - 05.8.2008 09:52:17

Diky Vlstiku, nejakou Ti dorucime.
Dalik.


----- Original Message -----
From: "Vlastimil Bartos" <bartos(zv)spsmvbr(tec)cz>
To: <delphi-l(zv)clexpert(tec)cz>
Sent: Monday, August 04, 2008 2:48 PM
Subject: Re: TDataSet a vlakna


> Dekujeme za bleskove vyrizeni, knihovni system opet funguje. Fakturu
> samozrejme proplatime, jakmile nam bude dorucena.
>
> Zdravi Vlastik Bartos
> VPS MV v Brne
>
> ----- Original Message -----
> From: "Heinisch Jiri" <info(zv)drnholec(tec)cz>
> To: <delphi-l(zv)clexpert(tec)cz>
> Sent: Monday, August 04, 2008 1:00 PM
> Subject: Re: TDataSet a vlakna
>
>
>> A proc si v rovnou v tom vlakne nyvytvorit objekt TDatabase + transakci
> ?
>>
>> Tim padem by to melo jit "bez rizika" uplne
>>
>>
>> Ladislav Stary napsal(a):
>> > V ramci toho dialogu jsem spustil vlakno, ktere ty sql dotazy provadi.
>> >
>> > Jestli jsem to dobre pochopil, tak by teda v tomto pripade nemelo dojit
>> > k zadnymu problemu s jedinou komponentou TDatabase, protoze dva
>> > pozadavky v jednu chvili nemohou nastat (hlavni proces v tu chvili
>> > zadne
>> > sql dotazy neprovadi).
>>
>>
>>
>>
>
>
>
>

Nacteni ciselniku z db

[*] Jan Sebelik <honza(zv)haes(tec)cz> - 05.8.2008 05:49:49

> mam jednoduchou aplikaci s 5 tabulkami, z toho 4 jsou ciselniky, do te
> pate pak vkladam data, ktera jsou kombinaci vsech tech hodnot z
> ciselniku, plus nejake textove hodnoty.
>
> Formular bych rad tak, aby mel 4 comboboxy s predvyplnenymi hodnotami z
> ciselniku, (jejich struktura je "id", "nazev") nazev, tam dokazu dostat,
> ale jak udelat aby pod tim bylo to id (presne jako select v html)
> Zkousel jsem pouzit normalni combobox, dbcombox i dblookupcombox ale
> netusim co s tim ...
> JH

Jedna z moznych cest (asi nejjednodussi) je zavest do te pate tabulky Lookup Fieldy.

Fields editor, New Field, Lookup, nastavit LookupDataSet (ciselnik) a vazebni polozky.

Pak staci s Fields editoru pretahnout tyto fieldy na formular. Tam vzniknou funkcni DBLookupComboBoxy. Kdyz se pak podivas na to, jak jsou nastaveny vlastnosti, bude vsechno jasne.

Honza
====================================
= RNDr. Jan Sebelik - HAES
= Skolici a konzultacni stredisko pro vyvoj SW
= www.haes(tec)cz
= Vojtiskova 321
= 507 81 Lazne Belohrad
====================================

Nacteni ciselniku z db

[*] Jirka Hajsl <jhajsl(zv)centrum(tec)cz> - 05.8.2008 01:45:33

zdravim

jsem zacatecnik, tak se omlouvam za zrejme stupidni dotaz, ale ani
strycek Google mi nepomohlm neb presne nevim, co hledam:

mam jednoduchou aplikaci s 5 tabulkami, z toho 4 jsou ciselniky, do te
pate pak vkladam data, ktera jsou kombinaci vsech tech hodnot z
ciselniku, plus nejake textove hodnoty.

Formular bych rad tak, aby mel 4 comboboxy s predvyplnenymi hodnotami z
ciselniku, (jejich struktura je "id", "nazev") nazev, tam dokazu dostat,
ale jak udelat aby pod tim bylo to id (presne jako select v html)
Zkousel jsem pouzit normalni combobox, dbcombox i dblookupcombox ale
netusim co s tim ...

JH

OT: prevod prav na zdrojaky

[*] Petr Vetesnik <vetesnik(zv)gmail(tec)com> - 06.8.2008 07:10:01

Preji pekny letni den,

potreboval bych poradit, zda nekdo nema zkusenosti s prevodem prav na
zdrojove kody nejakeho sw.

Potrebuji smluvne osetrit, ze jedna firma nebude dale nejaky sw dale vyvijet
a prevede veskera prava na zdrojaky, dalsi vyvoj a distribuci na jinou
spolecnost.

Predem mnohokrat dekuji.

Aplikace se neukonci, nejde odstrelit

[*] delphin(zv)post(tec)cz - 06.8.2008 18:51:27

> Mam aplikaci, ktera se tak jednou z deseti spusteni zdanlive ukonci, ale jeji
> proces zustane
> neukoncen a neni mozne ho ukoncit ani z task manageru, ani ruznymi hrubymi
> utilitami, jako Kill
> process cruelly - proste porad zustava viset v seznamu procesu a jedina cesta,
> jak se o zbavit, je
> restart Windows.

Zavada je mimo EXE, vetsinou se tohle stane, kdyz je spatne napsany ovladac a EXE nejakym zpusobem vyuziva sluzeb zavadneho ovladace. Typicky priklad jsou udelatka na USB port. Podivejte se pres Sysinternals ProcessExplorer kde presne to uhnilo a podle toho se uvidi.

Aplikace se neukonci, nejde odstrelit

[*] Jaromir Junek <mirek.junek(zv)worldonline(tec)cz> - 06.8.2008 18:31:25

Ahoj,

Mam aplikaci, ktera se tak jednou z deseti spusteni zdanlive ukonci, ale jeji proces zustane
neukoncen a neni mozne ho ukoncit ani z task manageru, ani ruznymi hrubymi utilitami, jako Kill
process cruelly - proste porad zustava viset v seznamu procesu a jedina cesta, jak se o zbavit, je
restart Windows.

Stava se to jak pri spusteni z Delphi (to pak zustanou viset i Delphi a cekaji, az se proces
"doukoncuje", tak pri spusteni EXE. Pak se to zas 5-20x ukonci bez problemu.

Udelal jsem si logovani ukoncovani se zapisem do souboru, destruktory vsech otevrenych formularu se
provedou az do konce.

WinXP SP2, Delphi 5
nemam definovane zadne jine thready, nedela se tam nic extra neobvykleho
Pouzite cizi units: FibPlus, Rx, Sinea, AsynchFree, Woll2Woll

Nemate nekdo typ, cim by to mohlo byt a pripadne, co s tim.

Dik
Mirek

--
hezky den

Mira

prevod prav na zdrojaky

[*] Radim Kunz <rkunz(zv)casestudio(tec)com> - 06.8.2008 18:23:25

Petr Vetesnik napsal(a):
> Preji pekny letni den,
>
> potreboval bych poradit, zda nekdo nema zkusenosti s prevodem prav na
> zdrojove kody nejakeho sw.
>
> Potrebuji smluvne osetrit, ze jedna firma nebude dale nejaky sw dale vyvijet
> a prevede veskera prava na zdrojaky, dalsi vyvoj a distribuci na jinou
> spolecnost.
>
> Predem mnohokrat dekuji.
>
>
Pokud jde o neco vetsiho, zajdi si za pravnikem. Tady se nejaka lidova
tvorba nevyplaci.

Radim

prevod prav na zdrojaky

[*] Vlastimil Travnik <vlastimil.travnik(zv)moraviadata(tec)cz> - 06.8.2008 18:21:23

Dobry den,

nejsem si jisty, jestli je toto misto urceno pro komercni nabidky, nejsem do
konference prihlaseny z tohoto duvodu, zkusenosti mam, muzu nabidnout
sluzby.

S pozdravem,

Ing. Vlastimil Travnik
Za Humny 766, 664 42 Modrice (Brno)
Znalecka kancelar se specializaci: podnik, technologicke celky, stroje a
zarizeni, motorova vozidla, software a hardware, informacni systemy,
autorska prava k software.
tel/fax 547 243 316, mobil 776-320326
vlastimil.travnik(zv)moraviadata(tec)cz
www.moraviadata(tec)cz

-----Original Message-----
From: delphi-l-owner(zv)clexpert(tec)cz [mailto:delphi-l-owner(zv)clexpert(tec)cz] On
Behalf Of Petr Vetesnik
Sent: Wednesday, August 06, 2008 7:10 AM
To: delphi-l(zv)clexpert(tec)cz
Subject: OT: prevod prav na zdrojaky

Preji pekny letni den,

potreboval bych poradit, zda nekdo nema zkusenosti s prevodem prav na
zdrojove kody nejakeho sw.

Potrebuji smluvne osetrit, ze jedna firma nebude dale nejaky sw dale vyvijet
a prevede veskera prava na zdrojaky, dalsi vyvoj a distribuci na jinou
spolecnost.

Predem mnohokrat dekuji.

Aplikace se neukonci, nejde odstrelit

[*] Jaromir Junek <mirek.junek(zv)worldonline(tec)cz> - 06.8.2008 22:31:43


>> Mam aplikaci, ktera se tak jednou z deseti spusteni zdanlive ukonci, ale jeji
>> proces zustane
>> neukoncen a neni mozne ho ukoncit ani z task manageru, ani ruznymi hrubymi
>> utilitami, jako Kill
>> process cruelly - proste porad zustava viset v seznamu procesu a jedina cesta,
>> jak se o zbavit, je
>> restart Windows.
>>
>
> Zavada je mimo EXE, vetsinou se tohle stane, kdyz je spatne napsany ovladac a EXE nejakym zpusobem vyuziva sluzeb zavadneho ovladace. Typicky priklad jsou udelatka na USB port. Podivejte se pres Sysinternals ProcessExplorer kde presne to uhnilo a podle toho se uvidi.
>
>
>


Dik, byla to fuska, nez se mi to podarilo vyvolat znovu, ale stejne z
toho nejsem moc moudry.

Sysinternals:
Z nekolika otevrenych threadu zbyl jen jediny a ten je ve stavu
Wait:executive. Kdyz jsem double kliknul v ProcessExploreru na ten thread,
vytuhnul i on. Jedine, co ted vyctu, je: Base priority 8, Dynamic
priority 10, coz se mi zda normalni, DLL vypadaji, ze jsou stale
natazene a to je vse. Spustil jsem ProcessExplorer znovu a nejde
killnout ani process, ani process tree. Co jeste mohu zjistit ?

Mirek

Aplikace se neukonci, nejde odstrelit

[*] delphin(zv)post(tec)cz - 06.8.2008 23:05:46

> Sysinternals:
> Z nekolika otevrenych threadu zbyl jen jediny a ten je ve stavu
> Wait:executive. Kdyz jsem double kliknul v ProcessExploreru na ten thread,
> vytuhnul i on. Jedine, co ted vyctu, je: Base priority 8, Dynamic
> priority 10, coz se mi zda normalni, DLL vypadaji, ze jsou stale
> natazene a to je vse. Spustil jsem ProcessExplorer znovu a nejde
> killnout ani process, ani process tree. Co jeste mohu zjistit ?

Nejvic zajimavy je Call stack u jednotlivych threadu. Pokud se to zasekne, kdyz se klikne na thread, asi uz nezjistime nic.
Nepouzivate v aplikaci cokoliv, co by melo potrebu jit na ovladace nebo neobvykly hardware ?
V obycejne aplikaci totiz prakticky nejde docilit stavu, kdy to nelze zabit, samozrejme pokud se o to clovek explicitne nesnazi.

Aplikace se neukonci, nejde odstrelit

[*] Lebeda David <david.lebeda(zv)comarr(tec)cz> - 07.8.2008 06:54:23



> Jedine, co mne napada, je pridana PCI karta se seriovyma linkama od
> firmy NetMos Technology, ke ktere se v aplikaci pristupuje. Zkusim google.
> Dik
> Mirek
>
>
>
Ahoj,

uprimne receno, prvni, co me napadlo pri pohledu na seznam cizich unit,
bylo to AsyncFree. PCI karta se seriovyma linkama to zrejme dale
potvrzuje. Mel jsem sveho casu rovnez zahadne problemy, ovsem pro zmenu
s AsyncPro. Vznikaly ruzne nezachytitelne vyjimky. A na vine byla uplna
kravina - komponente tusim Terminal jsem nejak nechtene zmenil velikost
a AsyncPro to nejak rozhodilo.

Zkusil bych zkontrolovat praci se seriovymi porty - zavirani, zda je
dost casu na dokonceni operaci s portem apod....


David Lebeda

Aplikace se neukonci, nejde odstrelit

[*] Jaromir Junek <mirek.junek(zv)worldonline(tec)cz> - 07.8.2008 06:08:20

delphin(zv)post(tec)cz napsal(a):
>> Sysinternals:
>> Z nekolika otevrenych threadu zbyl jen jediny a ten je ve stavu
>> Wait:executive. Kdyz jsem double kliknul v ProcessExploreru na ten thread,
>> vytuhnul i on. Jedine, co ted vyctu, je: Base priority 8, Dynamic
>> priority 10, coz se mi zda normalni, DLL vypadaji, ze jsou stale
>> natazene a to je vse. Spustil jsem ProcessExplorer znovu a nejde
>> killnout ani process, ani process tree. Co jeste mohu zjistit ?
>>
>
> Nejvic zajimavy je Call stack u jednotlivych threadu. Pokud se to zasekne, kdyz se klikne na thread, asi uz nezjistime nic.
> Nepouzivate v aplikaci cokoliv, co by melo potrebu jit na ovladace nebo neobvykly hardware ?
> V obycejne aplikaci totiz prakticky nejde docilit stavu, kdy to nelze zabit, samozrejme pokud se o to clovek explicitne nesnazi.
>
>
>
Jedine, co mne napada, je pridana PCI karta se seriovyma linkama od
firmy NetMos Technology, ke ktere se v aplikaci pristupuje. Zkusim google.
Dik
Mirek

VolgaDB Control

[*] talpa(zv)suchdol(tec)net <aldik(zv)quick(tec)cz> - 09.8.2008 23:49:16

Ahoj nemate nekdo VolgaDB Control componenty co by bezeli pod Codegear
DS 2007?

Diky Ales

MS Outlook - vlastni funkce

[*] delphi(zv)elra(tec)cz - 09.8.2008 12:32:19

Dobry den,
chtel bych pridat funkci do MS Outlook, chtel bych tam bud pridat tlacitko a jeho vlastni funkci, nebo odchytit stisk stavajiciho tlacitka a predat sve funkci.

Vubec ale nevim jak do toho a ani pritel Google mi moc nepomohl. Muzete me nekdo prosim postrcit spravnym smerem?

Konkrene se mi jedna o tlacitko Volat a telefonni cislo, ktere chci zavolat.

D7 a 2007

Predem dik Petr

OT: programator v Delphi

[*] Vlastimil Travnik <vlastimil.travnik(zv)moraviadata(tec)cz> - 08.8.2008 19:48:52

Hledam programatora v Delphi na mensi softwarovy projekt, nejlepe Brno (neni
podminkou), rozsah neni velky, vhodne i pro studenta.

Vlastimil Travnik

C# a Firebird

[*] BS Roman Borkovec <roman(zv)borkovec(tec)com> - 08.8.2008 15:12:27


Dd,
pouzivame Firebird Client komponenty www.borkovec.com/download/fcnet.msi
jinak jsou bezne ke stazeni nekde kolem www.firebirdsql.org nebo
ibphoenix(tec)cz
Jsou predpokladam postaveny na dbobjects, prace s nimi je v podstate
stejna
jako s ostatnimi db objekty - jen pozor na to, ze u parametru neni podstatne
jmeno,
ale poradi viz http://www.dbsvet(tec)cz/view.php?cisloclanku=2005083101
Roman

C# a Firebird

[*] Josef Sip <conf(zv)sipj(tec)net> - 08.8.2008 14:34:22

Dobry den,
zacinam mensi projekt a chtel bych ho zkusit psat misto v Delphi v C#.
Potrebuju ale pristup k existujici DB firebird.
Poradite jak nejlepe pristupvat k DB (VS2005 C#) nejlepe free reseni.


Diky
Jozka

Upload velkych souboru pres http pomoci c#

[*] Petr Vones <conference(zv)petrvones(tec)net> - 07.8.2008 19:10:27

From: "Dalibor" <dalibor(zv)torola(tec)cz>
> Ale mozna mi poradite nejake jine elegantnejsi, spolehlive reseni.

SOAP + MTOM

Petr Vones

ADMIN: Test

[*] Petr Zahradnik <clexpert(zv)clexpert(tec)cz> - 07.8.2008 19:08:27

Dalsi test, nereagovat.

Petr Zahradnik, pocitacovy expert

==========================================================
Petr Zahradnik, Computer Laboratory


web: http://www.clexpert(tec)cz, e-mail: clexpert(zv)clexpert(tec)cz

==========================================================


ADMIN: Test

[*] Petr Zahradnik <clexpert(zv)clexpert(tec)cz> - 07.8.2008 16:30:56

Ahoj,

toto je test, ktery ignorujte a nereagujte. Presouvam filtrovaci
sluzbu konference na novejsi stroj, tak si provedu jeste nekolik
testu.

Petr Zahradnik, pocitacovy expert

==========================================================
Petr Zahradnik, Computer Laboratory


web: http://www.clexpert(tec)cz, e-mail: clexpert(zv)clexpert(tec)cz

==========================================================


detekce hlavniho vlakna ve sluzbe

[*] Petr Fejfar <petr.fejfar(zv)seznam(tec)cz> - 07.8.2008 16:28:54

Dne Thu, 07 Aug 2008 15:21:02 +0200 <delphin(zv)post(tec)cz> napsal/-a:> Mate na vyber si bud napsat nove kopyto na sluzby nebo na zacatku sluzby
> do MainThreadID priradit ThreadID sluzby.

Melo by platit, ze v pripade TApplicationService obsahuje
Application.Components[x] vsechny instance TService.

A kazda TService ma *svuj vlastni* thread v property ServiceThread,
takze se to urcite necha dohledat.

##

V praxi se casto nechava vlastni servisni thread jen
pro *servisni* ucely a na vlastni praci se vytvori
pracovni thread, ktery lze v pripade potreby prenaset
mezi beznou aplikaci, service atd.


HTH, pf

detekce hlavniho vlakna ve sluzbe

[*] delphin(zv)post(tec)cz - 07.8.2008 15:21:02

> Hezky den vsem,
> potrebuji zajistit, aby dana obecna funkce zahlasila chybu, pokud neni
> spustena z hlavniho vlakna procesu.
>
> Normalne mi funguje
> if GetCurrentThreadId <> MainThreadID then raise...
>
> ..ale pokud je program spusten jako sluzba, vyskakuje mi to vzdy, protoze
> hlavnim vlaknem je zrejme proces Service manageru, ktery teprve spousti
> hlavni vlakno aplikace jako podproces.
>
> Nema nekdo nejaky napad, jak to detekovat v te sluzbe?

Sluzba se spousti normalne pres CreateProcess, v zadnem pripade nebezi v kontextu Service manageru.
Sluzba napsana pres Delphi kopyto se spousti tak, ze se normalne spusti EXE, normalne se vyplni MainThreadID a pak se v samostatnem vlakne spusti sluzba, proto to nefunguje.
Mate na vyber si bud napsat nove kopyto na sluzby nebo na zacatku sluzby do MainThreadID priradit ThreadID sluzby.

detekce hlavniho vlakna ve sluzbe

[*] Pavel Fiser <fiserpavel(zv)gmail(tec)com> - 07.8.2008 14:57:00

Hezky den vsem,
potrebuji zajistit, aby dana obecna funkce zahlasila chybu, pokud neni
spustena z hlavniho vlakna procesu.

Normalne mi funguje
if GetCurrentThreadId <> MainThreadID then raise...

..ale pokud je program spusten jako sluzba, vyskakuje mi to vzdy, protoze
hlavnim vlaknem je zrejme proces Service manageru, ktery teprve spousti
hlavni vlakno aplikace jako podproces.

Nema nekdo nejaky napad, jak to detekovat v te sluzbe?

Dik moc PF.
D7E, WinXP


Upload velkych souboru pres http pomoci c#

[*] delphin(zv)post(tec)cz - 07.8.2008 14:55:00

> Ahoj, s tim naprosto souhlasim, ale problem je, ze ne vzdy jsou povolene
> porty na FTP. Vetsinou je povoleny pouze port 80. Proto ten pozadavek pres

No tak to leda tak napsat si svuj HTTP server s advanced feature :-)
Nic lepsiho, nez uploadovat po maly souborech, me nenapada.

OT pouziti Acrobat reader objektu AcroPDF.dll

[*] Petr Zahradnik <clexpert(zv)clexpert(tec)cz> - 07.8.2008 14:34:58

Puvodni zprava ze dne 7.8.2008 od Mgr. Martin Radvansky:

> Nevite nekdo, jestli a pripadne jake je omezeni pouziti ActiveX
> objektu AcroPDF z distribuce Acrobat Readeru.

http://kb.adobe.com/selfservice/viewContent.do?externalId=tn_12062


Petr Zahradnik, pocitacovy expert

==========================================================
Petr Zahradnik, Computer Laboratory


web: http://www.clexpert(tec)cz, e-mail: clexpert(zv)clexpert(tec)cz

==========================================================


OT pouziti Acrobat reader objektu AcroPDF.dll

[*] Mgr. Martin Radvansky <delphiconf(zv)radvansky(tec)net> - 07.8.2008 14:20:57

Dobry den,

Nevite nekdo, jestli a pripadne jake je omezeni pouziti ActiveX
objektu AcroPDF z distribuce Acrobat Readeru.

V EULA k instalaci Acrobat readeru jsou zminky o tom, ze se reader
nesmi itegrovat ani pouzivat s aplikacemi, ktere ukladaji ci modifikuji pdf
soubory. Takze asi nesmim v me aplikaci pouzivat onen ActiveX.

Jak je to ovsem s pripadem, kdy spustim prohlizec podle registrovane
pripony tak to uz netusim.

Nicmene zminka o nejakem omezeni licence k ActiveX komponente jsem
nenasel ani na strankach Adobe. Licence pro SDK se soustredi opet na
pouzivani Acrobatu jako takoveho nikoliv readeru.

Netusite nekdo jak to s tim je v komercni aplikaci?


--
S pozdravem,
Mgr. Martin Radvansky

Upload velkych souboru pres http pomoci c#

[*] Dalibor <dalibor(zv)torola(tec)cz> - 07.8.2008 14:16:57

Ahoj, s tim naprosto souhlasim, ale problem je, ze ne vzdy jsou povolene
porty na FTP. Vetsinou je povoleny pouze port 80. Proto ten pozadavek pres
HTTP.>
> Fantazii se meze nekladou, ale uploadovat 500MB pres HTTP neni prilis
> vhodne a to prave proto, ze kdyz se to prerusi, tak se musi zacit od
> zacatku. Samozrejme pokud HTTP server nema nejakou advanced feature.
> Na uploadovani souboru je vhodnejsi FTP.
>

Upload velkych souboru pres http pomoci c#

[*] delphin(zv)post(tec)cz - 07.8.2008 14:10:56

> Ahoj, resim problem s uploadovanim velkych souboru (>500MB) pres HTTP na
> server.

Fantazii se meze nekladou, ale uploadovat 500MB pres HTTP neni prilis vhodne a to prave proto, ze kdyz se to prerusi, tak se musi zacit od zacatku. Samozrejme pokud HTTP server nema nejakou advanced feature.
Na uploadovani souboru je vhodnejsi FTP.

OT: Upload velkych souboru pres http pomoci c#

[*] Dalibor <dalibor(zv)torola(tec)cz> - 07.8.2008 13:54:55

Ahoj, resim problem s uploadovanim velkych souboru (>500MB) pres HTTP na server.

Zkousim neco pres tridu WebClient, ale potreboval bych, aby v pripade vypadku spojeni, odesilani probihalo od mista, kde se odesilani prerusilo.

Napadlo me, ze bych na klientske stanici dany soubor rozrezal na dily a ty potom postupne posilal. A na servru by se nejakou sluzbou dany soubor spojil. (Uz treba jenom proto, ze by byla omezena velikost odesilaneho souboru na serveru.)

Ale mozna mi poradite nejake jine elegantnejsi, spolehlive reseni.

Dekuji

D.

Aplikace se neukonci, nejde odstrelit

[*] Karel Rys <delphi(zv)zas-me(tec)cz> - 07.8.2008 13:50:54

Ahoj,

asi moc nepomuzu - jedine, s cim jsem se setkal, ze "umelo" takhle umrtvit proces, byl antivir eTrust. Priznaky ale byly
jine - vzdy se to hryzlo pri spusteni z Delphi a myslim, ze nikdy pri samostatnem spusteni.

Karel Rys


Jaromir Junek dne 6 Aug 2008 v 18:31:

> Mam aplikaci, ktera se tak jednou z deseti spusteni zdanlive ukonci,
> ale jeji proces zustane neukoncen a neni mozne ho ukoncit ani z task
> manageru, ani ruznymi hrubymi utilitami, jako Kill process cruelly -
> proste porad zustava viset v seznamu procesu a jedina cesta, jak se o
> zbavit, je restart Windows.

Vlakno a zobrazeni chyby

[*] Ladislav Stary <stary(zv)ekodat(tec)cz> - 07.8.2008 12:32:48

Diky, takhle to funguje


Ladislav Stary


> Do Execute date tohle:
>
> try
> ...zde je vlastni kod vlakna
> except
> on E:Exception do ... a zde zpracujete vyjimku
> end;

Vlakno a zobrazeni chyby

[*] delphin(zv)post(tec)cz - 07.8.2008 12:18:46

> chtel bych se zeptat, jestli se da Delphi nejak donutit, aby zobrazilo k
> jake doslo chybe pri behu vlakna?
>
> Kdyz dojde k chybe ve vlakne, tak ho zrejme program odstreli, ale
> nezobrazi se mi zadna chybova hlaska. Pro zobrazovani chyb pouzivam
> ExceptDlg z JCL.

Do Execute date tohle:

try
...zde je vlastni kod vlakna
except
on E:Exception do ... a zde zpracujete vyjimku
end;

Vlakno a zobrazeni chyby

[*] Ladislav Stary <stary(zv)ekodat(tec)cz> - 07.8.2008 11:36:43

Ahoj,

chtel bych se zeptat, jestli se da Delphi nejak donutit, aby zobrazilo k
jake doslo chybe pri behu vlakna?

Kdyz dojde k chybe ve vlakne, tak ho zrejme program odstreli, ale
nezobrazi se mi zadna chybova hlaska. Pro zobrazovani chyb pouzivam
ExceptDlg z JCL.

Jinak je to Delphi 6.


Diky

Ladislav Stary

Aplikace se neukonci, nejde odstrelit

[*] delphin(zv)post(tec)cz - 07.8.2008 11:18:42

> uprimne receno, prvni, co me napadlo pri pohledu na seznam cizich unit,
> bylo to AsyncFree. PCI karta se seriovyma linkama to zrejme dale
> potvrzuje. Mel jsem sveho casu rovnez zahadne problemy, ovsem pro zmenu
> s AsyncPro. Vznikaly ruzne nezachytitelne vyjimky. A na vine byla uplna
> kravina - komponente tusim Terminal jsem nejak nechtene zmenil velikost
> a AsyncPro to nejak rozhodilo.
>
> Zkusil bych zkontrolovat praci se seriovymi porty - zavirani, zda je
> dost casu na dokonceni operaci s portem apod....

To s tim nema souvislost. Kdyz uz dojde k vyjimce, mame prakticky jistotu, ze volani ovladace skoncilo a tedy aplikace nevisi v kernelu a tedy by sla bezne ukoncit z Task Manageru..

Aplikace se neukonci, nejde odstrelit

[*] delphin(zv)post(tec)cz - 07.8.2008 11:14:41

> Jedine, co mne napada, je pridana PCI karta se seriovyma linkama od
> firmy NetMos Technology, ke ktere se v aplikaci pristupuje. Zkusim google.

Mame vinika a tim je s velkou pravdepodobnosti ovladac NetMos. Zkuste pro ucely testovani pouzit jenom COM1 na zakladni desce a s velkou pravdepodobnosti problem prestane.

Sledovani casu straveneho na projektu

[*] Jiri Rocnak <rocnak(zv)admiscz(tec)net> - 07.8.2008 08:54:32

Chtel bych se zeptat, jake pouzivate programy na sledovani casu straveneho na urcitem projektu. Bohuzel musim preskakovat mezi rozpracovanymi projekty v Delphi a mezitim delat jeste dalsi cinnosti. Potreboval bych tedy nejak inteligentne sledovat a zaznamenavat, na cem a jak dlouho pracuji. Pri necinnosti by to melo po nejake prodleve zastavit pricitani casu. Zatim nejlepsi reseni jsem nalezl v programu WorkTime od NesterSoftu. Daji se tam nadefinovat projekty, ktere to sleduje podle nadpisu aktivniho okna, nicmene se mi zda, ze to nepracuje uplne idealne. Napr. pokud se nespusti nejaky program s nadefinovanym pravidlem po ukonceni programu s nadefinovanym pravidlem, tak se ten puvodni neprestane pocitat. Mate nejake funkcni reseni, nebo to nikdo nepotrebuje? Idealni by bylo nejake free reseni (ale s tim moc nepocitam), pripadne s nejakou prijatelnou cenou (ta se urci podle toho, co program umi :) )

MS Outlook - vlastni funkce

[*] Petr Zahradnik <clexpert(zv)clexpert(tec)cz> - 10.8.2008 18:23:56

Puvodni zprava ze dne 9.8.2008 od delphi(zv)elra(tec)cz:

> chtel bych pridat funkci do MS Outlook, chtel bych tam bud pridat
> tlacitko a jeho vlastni funkci, nebo odchytit stisk stavajiciho
> tlacitka a predat sve funkci.

> Vubec ale nevim jak do toho a ani pritel Google mi moc nepomohl.

Asi jsi pritele spatne pozadal, protoze toho vi samozrejme vic nez
dost.

> Muzete me nekdo prosim postrcit spravnym smerem?

To se nejlepe dela pomoci Visual Studio, ktere uz ma vsechny potrebne
nastroje a naimportovany COM model atp.

http://msdn.microsoft.com/en-us/office/aa905533.aspx

Na MSDN take najdes vsechny potrebne informace. Pokud to budes delat v
Delphi, tak to urcite take jde (pomoci COM), ale asi to da nejakou tu
praci.

Petr Zahradnik, pocitacovy expert

==========================================================
Petr Zahradnik, Computer Laboratory


web: http://www.clexpert(tec)cz, e-mail: clexpert(zv)clexpert(tec)cz

==========================================================



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