Archív konference Delphi

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

Nstaveni promenne na nil po zruseni objektu

[*] Tomas Rosa <trosa(zv)seznam(tec)cz> - 22.8.2006 08:01:55

Vytvor si vlastni objekt - treba nejak takto:

type
TMyScreenForms=class
private
fList:TList;
public
... //konctrustor / destruktor
procedure AddForm(form:pointer);
procedure ClearAll;
... //jeste pak i RemoveForm aby jsi mohl pripadne formular uvolnit
i rucne
end;

procedure TMyScreenForms.AddForm(form:pointer);
begin
fList.Add(form);
end;

procedure TMyScreenForms.ClearAll;
var n:integer;
p:^TForm;
begin
for n:=0 to fList.Count-1 do
begin
p:=fList[n];
FreeAndNil(p^);
end;
fList.Clear;
end;...

a pak kdekoliv v programu kdyz vytvoris formular a priradis si ho do
promeny, pak udejej i toto:

LoginForm:=TLoginForm.Create(application);
MyScreenForms.AddForm((zv)LoginForm);

dulezity je ten (zv) protoze tim vlastne nepridavas formular samotny, ale
pointer na tu promenou kam jsi ho ulozit. Je dulezite, aby promena byla
GLOBALNI, nebo aby pokud to bude promena LOKALNI aby jsi ji vzdy pred
koncem fce kde ji pouzivas zase odregistroval.

Tim ze jsi uchovavas seznam pointru na promenne, muzes je pak zpetne
(viz ClearAll) najit a nastavit na nil.

Podle me toto je to co potrebujes.

Tomas Rosa

> Jestli formulare vyhledavas pomoci Screen.Forms, tak asi nedokazes nijak
> pristoupit k ostatnim odkazum na ne. Nebylo by cestou nepouzivat
> Screen.Forms, ale svuj seznam formularu? Tj. to, co mas ted v jednotlivych
> promennych dat treba do sveho pole? Jinak fakt nevim.
>

Nstaveni promenne na nil po zruseni objektu

[*] OnDraG <gebakonf(zv)centrum(tec)cz> - 22.8.2006 08:19:57

To je pravda....


delphin(zv)post(tec)cz napsal(a):
>> Po tomto pak budes mit nil ve svych pormennych Form1, AAAForm atd.
>
> Formular se uvolni, ale na nil se nastavi tak akorat lokalni promenna F, coz
> je k nicemu.
>
>

Spousteni sluzby

[*] Tomas Rosa <trosa(zv)seznam(tec)cz> - 22.8.2006 10:06:07

> Treba pri staru pocitace jsou disky a dalsi natolik vytizeny, ze to
> nestihaji. Nebo ze by treba nejaka skryta zavislost na jine sluzbe?
>
> Nemuzete do te sluzby vlozit zapis do nejakeho logu, abyste vedel,
> proc to konkretne nestiha?
>


No log si to otevira a v nem je vzdy to co ma byt - tedy ze otevrel DB
(nic jineho nedela, tedy pak jeste krome pusteni threadu, ale to neni
nic co by blokovalo) a windows usoudi ze se jim to nelibi a KILL.

TR

Grid a DataSet

[*] Ludek Finstrle <ludek.finstrle(zv)pzkagis(tec)cz> - 22.8.2006 10:02:06

> V gridu zobrazuju data, ktera mam v datasetu ulozena jako vysledek dotazu.
> Uzivatel si vybere prslusny zaznam a na panelu si muze hodnoty upravit. Pri
> tom je updatuju v databazi. Problem je v tom, ze v gridu se zmena
> pochopitelne projevi az po jeho refreshnuti. To vsak docela dlouho trva,
> takze nechci pri kazde zmene znova provadet ten dotaz.
> Nepouzivam DBEdit ani nic podobneho, resim si to sam pomoci svych komponent.
> Dotaz zni, lze nejak zmenit obsah datasetu, ze ktereho cte grid aniz bych
> vykonal dotaz? Napadlo me primo to primo zapisovat do toho datasetu, ale
> nevim jak. Mozna se to tu uz resilo. Dekuju za radu.

RTFM:
var field : TField;

dataset.Edit;
field := dataset.FindField(FieldName);
field := dataset.FieldByName(FieldName);
field.As<type> := value;
dataset.Post;

Detaily uz jiste v helpu najdete.

Luf

Grid a DataSet

[*] Martin Pisarik <martin.pisarik(zv)seznam(tec)cz> - 22.8.2006 09:54:06

Ahoj *,

V gridu zobrazuju data, ktera mam v datasetu ulozena jako vysledek dotazu.
Uzivatel si vybere prslusny zaznam a na panelu si muze hodnoty upravit. Pri
tom je updatuju v databazi. Problem je v tom, ze v gridu se zmena
pochopitelne projevi az po jeho refreshnuti. To vsak docela dlouho trva,
takze nechci pri kazde zmene znova provadet ten dotaz.
Nepouzivam DBEdit ani nic podobneho, resim si to sam pomoci svych komponent.
Dotaz zni, lze nejak zmenit obsah datasetu, ze ktereho cte grid aniz bych
vykonal dotaz? Napadlo me primo to primo zapisovat do toho datasetu, ale
nevim jak. Mozna se to tu uz resilo. Dekuju za radu.
--
Internal Virus Database is out-of-date.
Checked by AVG Free Edition.
Version: 7.1.405 / Virus Database: 268.10.8/413 - Release Date: 8.8.2006


Spousteni sluzby

[*] Ludek Finstrle <ludek.finstrle(zv)pzkagis(tec)cz> - 22.8.2006 09:52:05

> Pritom obe 2 sluzby jsou si velmi podobne a lisi se od sebe jen velmi
> malo. Jediny rozdil je mozna v tom, ze tato co pada otevira navic cca
> 5MB soubor (sqlite).

> Kdyz sluzbu pustim normalne (mam ji tak upravenou aby sla) nabehne
> okamzine - proste par sec (1-3sec) nez server je pripraven k praci.
> Nevim proc pri startu PC to do 30 sec nestihne.

Treba pri staru pocitace jsou disky a dalsi natolik vytizeny, ze to
nestihaji. Nebo ze by treba nejaka skryta zavislost na jine sluzbe?

Nemuzete do te sluzby vlozit zapis do nejakeho logu, abyste vedel,
proc to konkretne nestiha?

Luf

Spousteni sluzby

[*] Tomas Rosa <trosa(zv)seznam(tec)cz> - 22.8.2006 09:44:05

Zdravim,

mam 2 sluzby a kazdou z nich mam automaticky poustenou po startu PC.
Jedna se spusti OK a druha zahlasi 2 chyby:

---
Vyprsel casovy limit (30000 milisekund) ceakni na pripojeni sluzby
Hotel-Keeper DB server.
---

---
Sluzba Hotel-Keeper DB server neuspela pri spusteni v dusledku
nasledujci chyby:
Sluzba neodpovedela na ridici nebo zahajovaci poadavek dostatecne vcas.
---

Mam ji nastavenou tak, ze pokud selze sluzba, aby se pustila po 2
minutach znovu a tak na vsechny 3 selhani. Nicmeme windows na toto
nereaguji a proste se ji napoprvy pokusi spustit a pokud se to nepovede,
vykaslou se na to.

Pritom obe 2 sluzby jsou si velmi podobne a lisi se od sebe jen velmi
malo. Jediny rozdil je mozna v tom, ze tato co pada otevira navic cca
5MB soubor (sqlite).

Sluzbu mam napsanaou na zaklade demo kodu z Delphi - tedy pres SvcMgr a
potomka TService.

Kdyz sluzbu pustim normalne (mam ji tak upravenou aby sla) nabehne
okamzine - proste par sec (1-3sec) nez server je pripraven k praci.
Nevim proc pri startu PC to do 30 sec nestihne.

TR

OPOS ovladace

[*] Martin Burle <mburle2(zv)volny(tec)cz> - 22.8.2006 09:26:03

> Co to znamena "asi jiste" ? Tak bud je neco "jiste" a nebo to je
> "asi", ale nevim, co to znamena "asi jiste". Co ja vim, zatim neni

Kdyz se pod navrh odlozeni platnosti zakona podepisou predsedove vsech stran
/mam dojem ze krome komunistu/, vcetne paroubka., pak pravdepodobnost
schvaleni takoveho navrhu v parlamentu se asi blizi jistote, zda se mi.
Nebyt to v zde v Cechach, pak bych to sluvko asi vynechal :-)

MB

Grid a DataSet

[*] Martin Pisarik <martin.pisarik(zv)seznam(tec)cz> - 22.8.2006 11:48:14


> RTFM:
> var field : TField;
>
> dataset.Edit;
> field := dataset.FindField(FieldName);
> field := dataset.FieldByName(FieldName);
> field.As<type> := value;
> dataset.Post;
>
> Detaily uz jiste v helpu najdete.
>

Tohle je mi jasny, jenze v mem pripade je ten dataset TADOQuery a kdyz na
nem udelam vyse popsany kod, tak se v gridu sice hodnota zmeni - to je
super, ale pochipotelne to zarve, ze Field "Zkratka1" not exists, protoze
ten je "vyroben" z mnoha tabulek az tim selectem, ktery plni ten dataset.
Nechci nic menit v DB - to si menim sam. Chci to jen zmenit v gridu bez
pomaleho zavreni a otevreni ADOQuery.
Nejaky napad?
--
Internal Virus Database is out-of-date.
Checked by AVG Free Edition.
Version: 7.1.405 / Virus Database: 268.10.8/413 - Release Date: 8.8.2006


Grid a DataSet

[*] Martin Burle <mburle2(zv)volny(tec)cz> - 22.8.2006 12:12:16

> super, ale pochipotelne to zarve, ze Field "Zkratka1" not exists, protoze
> ten je "vyroben" z mnoha tabulek az tim selectem, ktery plni ten dataset.

Zkus nastavit providerFlags, pfInUpdate. Nebo pouzij nejaky cachovany
dataset a data vubec do databaze nezapisuj.

MB

Grid a DataSet

[*] Martin Pisarik <martin.pisarik(zv)seznam(tec)cz> - 22.8.2006 13:08:20


> Zkus nastavit providerFlags, pfInUpdate. Nebo pouzij nejaky cachovany
> dataset a data vubec do databaze nezapisuj.

experimenty s providerFlags zatim nikam nevedlou - "unknown column
SkupinaNazev ...". Coz je pochopitelny, takovy column tam nikde neni. Ani
nechci aby mi to cokoliv updatovalo. Cachovany dataset by to resil ale v
tuto chvili mam v projektu nekolik desitek gridu a datasetu a nemuzu to
jednoduse cely prekopat.
Co chci je toto: Grid bere data z TDataSource ten je bere z TADOQuery a ten
je ma, predpokladam, nekde ulozeny v nejakym "poli". Co by mi stacilo je
zmenit tu hodnotu primo v tom "poli" aby se zmenilo to co zobrazuje Grid. S
Databazi nic delat nechci, to si updatuje ta komponenta (odvozena od
TEditu).
A nebo by mi stacilo aby kdyz udelam AdoQuery->Edit(); nejaka zmena v
nejakem fieldu; AdoQuery->Post(), aby to neprovadelo ZADNY update v
databazi, aby si to jen prepsalo hodnotu fieldu v sobe a grid si to prevzal.
Dik za trpelivost.

--
Internal Virus Database is out-of-date.
Checked by AVG Free Edition.
Version: 7.1.405 / Virus Database: 268.10.8/413 - Release Date: 8.8.2006


Grid a DataSet

[*] Macko Martin <martin.macko(zv)m-pro(tec)cz> - 22.8.2006 13:18:21

predpokladam ze pouzivas DBGrid
takze:
a) budto nepouzivat DBGrid ale data si "rucne" nacpat do StringGridu
nebo
b) pouzit nejakou memory table a tu si "rucne" naplnit z vysledku query

> -----Original Message-----
> From: delphi-l-owner(zv)clexpert(tec)cz
> [mailto:delphi-l-owner(zv)clexpert(tec)cz] On Behalf Of Martin Pisarik
> Sent: Tuesday, August 22, 2006 1:08 PM
> To: delphi-l(zv)clexpert(tec)cz
> Subject: Re: Grid a DataSet
>
> Co chci je toto: Grid bere data z TDataSource ten je bere z
> TADOQuery a ten je ma, predpokladam, nekde ulozeny v nejakym
> "poli". Co by mi stacilo je zmenit tu hodnotu primo v tom
> "poli" aby se zmenilo to co zobrazuje Grid. S Databazi nic
> delat nechci, to si updatuje ta komponenta (odvozena od TEditu).
> A nebo by mi stacilo aby kdyz udelam AdoQuery->Edit(); nejaka
> zmena v nejakem fieldu; AdoQuery->Post(), aby to neprovadelo
> ZADNY update v databazi, aby si to jen prepsalo hodnotu
> fieldu v sobe a grid si to prevzal.
> Dik za trpelivost.

Grid a DataSet

[*] Martin Pisarik <martin.pisarik(zv)seznam(tec)cz> - 22.8.2006 13:26:21



> predpokladam ze pouzivas DBGrid
> takze:
> a) budto nepouzivat DBGrid ale data si "rucne" nacpat do StringGridu
> nebo
> b) pouzit nejakou memory table a tu si "rucne" naplnit z vysledku query
>
Ani jedno z techto reseni pouzit nemuzu, protoze mam rozsahly projekt a na
takovou zmenu je jiz pozde. Myslel jsem, ze uzivatele pochopi, ze se zmeny
objevi v Gridu az po refreshnuti, ale ted vidim, ze to nepochopi...

Neslo by nejak menit ten vysledek ADOQuery. Treba odvodit nejakeho potomka a
v tom "to neco" zpristupnit?
--
Internal Virus Database is out-of-date.
Checked by AVG Free Edition.
Version: 7.1.405 / Virus Database: 268.10.8/413 - Release Date: 8.8.2006


Grid a DataSet

[*] Martin Burle <mburle2(zv)volny(tec)cz> - 22.8.2006 13:28:22

> > Zkus nastavit providerFlags, pfInUpdate. Nebo pouzij nejaky cachovany
> > dataset a data vubec do databaze nezapisuj.
>
> experimenty s providerFlags zatim nikam nevedlou - "unknown column
> SkupinaNazev ...". Coz je pochopitelny, takovy column tam nikde neni. Ani
> nechci aby mi to cokoliv updatovalo. Cachovany dataset by to resil ale v
> tuto chvili mam v projektu nekolik desitek gridu a datasetu a nemuzu to
> jednoduse cely prekopat.

ADO neznam, ale obavam se, ze to prekopat budes muset. A co refreshRecord na
zmenenem zaznamu, to prece nebude trvat prilis dlouho, ne?

MB

Nstaveni promenne na nil po zruseni objektu

[*] Pavel Bares <bares(zv)atoll(tec)cz> - 22.8.2006 14:10:25

Ano takto by to jiste slo, ale jak uz sem zde psal je pomerne narocne
prolezt cely rozsahly program a vsude to doplnit.
Bohuzel a si nebude jina cesta nez to vsude opravit.

To uz ale spise prepisu podminku pri vytvareni oken tak, ze misto
testovani na nil pouziju funkci IsObject

Pavel Bares

Tomas Rosa napsal(a):
> Vytvor si vlastni objekt - treba nejak takto:
>
> type
> TMyScreenForms=class
> private
> fList:TList;
> public
> ... //konctrustor / destruktor
> procedure AddForm(form:pointer);
> procedure ClearAll;
> ... //jeste pak i RemoveForm aby jsi mohl pripadne formular uvolnit
> i rucne
> end;
>
> procedure TMyScreenForms.AddForm(form:pointer);
> begin
> fList.Add(form);
> end;
>
> procedure TMyScreenForms.ClearAll;
> var n:integer;
> p:^TForm;
> begin
> for n:=0 to fList.Count-1 do
> begin
> p:=fList[n];
> FreeAndNil(p^);
> end;
> fList.Clear;
> end;
>
> ...
>
> a pak kdekoliv v programu kdyz vytvoris formular a priradis si ho do
> promeny, pak udejej i toto:
>
> LoginForm:=TLoginForm.Create(application);
> MyScreenForms.AddForm((zv)LoginForm);
>
> dulezity je ten (zv) protoze tim vlastne nepridavas formular samotny, ale
> pointer na tu promenou kam jsi ho ulozit. Je dulezite, aby promena byla
> GLOBALNI, nebo aby pokud to bude promena LOKALNI aby jsi ji vzdy pred
> koncem fce kde ji pouzivas zase odregistroval.
>
> Tim ze jsi uchovavas seznam pointru na promenne, muzes je pak zpetne
> (viz ClearAll) najit a nastavit na nil.
>
> Podle me toto je to co potrebujes.
>
> Tomas Rosa
>
>
>> Jestli formulare vyhledavas pomoci Screen.Forms, tak asi nedokazes nijak
>> pristoupit k ostatnim odkazum na ne. Nebylo by cestou nepouzivat
>> Screen.Forms, ale svuj seznam formularu? Tj. to, co mas ted v jednotlivych
>> promennych dat treba do sveho pole? Jinak fakt nevim.
>>
>>
>
>
>

Grid a DataSet

[*] Petr Kejval <petr.kejval(zv)worldonline(tec)cz> - 22.8.2006 14:46:27

Ahoj,
misto refreshovani vsech zaznamu datasetu metodami Close; Open; pouzij
refresh pouze jednoho zaznamu podle primarniho klice. Nacteni jednoho
zaznamu podle primarnoho klice je velmi rychle.
Zkus se podivat do helpu ADO na UpdateCriteria, UniqueCatalog ,UniqueSchema,
UniqueTable a predevsim na ResyncCommand.
Priklad pouziti jsem psal kdysi do konference pod predmetem "resync v ADO".
Neco je i pod predmetem "ADO nezvlada view".
Pokud tyto prispevky nenajdes, napis. Ja ti je poslu.

Resynchronizovani jednoho zaznamu tabulky na serveru s klientskym datasetem
pouzivam napr. kdyz zezadu zapisuji do zaznamu tabulky na serveru a chci
zmeny promitnout do zaznamu v klientskem datasetu. Nebo kdyz napr. v
triggeru zapisuji nebo menim nejake hodnoty zaznamu a ty pak promitam do
klientskeho datasetu. Refreshovat lze i zaznam s joinovanymi tabulkami.

Programovani nad ADO si nedovedu bez teto funkcnosti vubec predstavit. Jinak
bych asi musel pouzivat nejake memorytable nebo clientdataset atd. jak ti uz
tady radili.

Jinak napr. v ADO.NET si take sestavujes svuj resynchronizacni select pro
resynchronizaci jednoho zaznamu.


Petr Kejval


> Ahoj *,
>
> V gridu zobrazuju data, ktera mam v datasetu ulozena jako vysledek dotazu.
> Uzivatel si vybere prslusny zaznam a na panelu si muze hodnoty upravit.
> Pri
> tom je updatuju v databazi. Problem je v tom, ze v gridu se zmena
> pochopitelne projevi az po jeho refreshnuti. To vsak docela dlouho trva,
> takze nechci pri kazde zmene znova provadet ten dotaz.
> Nepouzivam DBEdit ani nic podobneho, resim si to sam pomoci svych
> komponent.
> Dotaz zni, lze nejak zmenit obsah datasetu, ze ktereho cte grid aniz bych
> vykonal dotaz? Napadlo me primo to primo zapisovat do toho datasetu, ale
> nevim jak. Mozna se to tu uz resilo. Dekuju za radu.

Spusteni FB na Windows Server 2003

[*] Jaroslav Uher <jarek(zv)iuher(tec)cz> - 22.8.2006 14:42:27

Ahoj,

Windows Server2003, Firebird 1.5

Jakmile jsme zacali pouzivat vlastni DLL s UDF nastaly (jiste vsem
zmame) potize se spravcem site.

Proto se snazim na TS, kde mam vsecha prava, nainstalovat Firebird
podle http://www.fbtalk.net/viewtopic.php?id=210

coz semi sice podari, ale jiz nedokazu spustit Firebird.
Zkousel jsem restarty, nic.
V apeletu je button Start disablovany
a firebird.log tam ma 'INET/inet_error: connect errno = 10061'.

Potreboval bych, aby chodilo pripojeni k FBD i na lokalnim serveru.

Dekuji za vase namety a zkusenosti,

Jarek Uher

Nstaveni promenne na nil po zruseni objektu

[*] delphin(zv)post(tec)cz - 22.8.2006 15:20:30

> To uz ale spise prepisu podminku pri vytvareni oken tak, ze misto
> testovani na nil pouziju funkci IsObject

Tohle doufam urcite ne:

function IsObject(Address: Pointer): Boolean; assembler;
asm
// or IsClass(Pointer(Address^));
MOV EAX, [Address]
CMP EAX, EAX.vmtSelfPtr
JNZ (zv)False
MOV Result, True
JMP (zv)Exit
(zv)False:
MOV Result, False
(zv)Exit:
end;

V zadnem pripade neni mozno jakymkoliv zpusobem pristupovat k jiz uvolnene
pameti, to je hruba chyba a zdroj zdanlive nevysvetlitelnych problemu. Pokud
tedy TForm1 uvolnim a v promenne Form1 mi zustane ukazatel na instanci, tak
se s tim uz asi neda nic delat.

Uvolneni TForm pri uzavrenni okna

[*] Martin Cajbik <cajbik(zv)sct.sk> - 22.8.2006 15:06:29

Zdravim,
preco to nie je mozne vykonat v OnClose? Na nieco take je prave OnClose
urcene. Staci nastavit Action na caFree a pripadne premennu formularu na
nil (ak sa z nou niekde pracuje).

Martin Cajbik

Petr Mathon wrote:
> Ahoj
>
> Potreboval bych uvolnit formular pri uzavreni okna. V OnClose to asi nepujde a hlidat uzavreni timerem se mi nezda.
> Form neni modalni. Vytvori se Create a vola se Show.
>
> Dik

Grid a DataSet

[*] Zbysek Hlinka <konference(zv)hlinka(tec)cz> - 22.8.2006 15:50:32

Ahoj,

v Delphi uz dlouho nedelam, takze budu trochu lovit ze vzpominek.

Tyto situace resim __zasadne__ tak, ze si data nactu do nejakeho offline
zdroje, ktery nasledne zobrazim v gridu. Pak si s tim mohu delat co chci,
data refreshuji v tomto offline zdroji presne v miste, kde chci videt zmenu
(napriklad po potvrzeni, ze insert nebo update probehl v poradku). Myslim,
ze to co potrebujes, by mel splnovat ClientDataSet.

Pracovat v gridech z "zivymi" daty povazuju za naprostou zrudnost, ktera
vede primou cestou k tezko resitelnym potizim, ktere popisujes.

S pozdravem

Zbysek Hlinka
E-mail: hlinka zavin. hlinka(tec)cz


> -----Original Message-----
> From: delphi-l-owner(zv)clexpert(tec)cz
> [mailto:delphi-l-owner(zv)clexpert(tec)cz] On Behalf Of Martin Pisarik
> Sent: Tuesday, August 22, 2006 3:02 PM
> To: delphi-l(zv)clexpert(tec)cz
> Subject: Re: Grid a DataSet
>
> Ok, nez se tim zacnu zabyvat, chci se jen ujistit, jestli je
> to vubec realne. To co zobrazuji v gridu je vysledek
> slozitejsiho selectu, kde se joinuje spousta tabulek a neco
> se obcas grupuje a jsou v tom subseleckty atd. Nedovedu si
> predstavit mechanismus, jak by sel refreshnout jen jeden
> zaznam. Jedine snad jak jsi uvedl ten resynchronizacni select
> pro resynchronizaci jednoho zaznamu. To vsak predpokladam v
> Delphi ani v BCB s ADO komponentami nejde.
> Porad mi prijde jako nejelegantnejsi reseni obelstit grid aby
> vypisoval novou hodnotu. Tj neco zmenim v DB, pak zmenim
> patricny udaj i na klientovi v pameti, kde ma Query nebo
> dataset ulozeny vysledek posledniho dotazu a pak prekreslim
> grid. Fungovalo by to podle me dost dobre. Dobre funguje i
> konstrukce DAtaSet->Edit(), ... Dataset->Post(), nebyt toho,
> ze se Post() snazi manipulovat s databazi by to bylo idealni,
> protoze grid na tohle zareaguje a prekresli se novou hodnotou
> a dokonce je v nem cerveny priznak zmeny.

Grid a DataSet

[*] Martin Pisarik <martin.pisarik(zv)seznam(tec)cz> - 22.8.2006 15:02:29

Ok, nez se tim zacnu zabyvat, chci se jen ujistit, jestli je to vubec
realne. To co zobrazuji v gridu je vysledek slozitejsiho selectu, kde se
joinuje spousta tabulek a neco se obcas grupuje a jsou v tom subseleckty
atd. Nedovedu si predstavit mechanismus, jak by sel refreshnout jen jeden
zaznam. Jedine snad jak jsi uvedl ten resynchronizacni select pro
resynchronizaci jednoho zaznamu. To vsak predpokladam v Delphi ani v BCB s
ADO komponentami nejde.
Porad mi prijde jako nejelegantnejsi reseni obelstit grid aby vypisoval
novou hodnotu. Tj neco zmenim v DB, pak zmenim patricny udaj i na klientovi
v pameti, kde ma Query nebo dataset ulozeny vysledek posledniho dotazu a pak
prekreslim grid. Fungovalo by to podle me dost dobre. Dobre funguje i
konstrukce DAtaSet->Edit(), ... Dataset->Post(), nebyt toho, ze se Post()
snazi manipulovat s databazi by to bylo idealni, protoze grid na tohle
zareaguje a prekresli se novou hodnotou a dokonce je v nem cerveny priznak
zmeny.

> Ahoj,
> misto refreshovani vsech zaznamu datasetu metodami Close; Open; pouzij
> refresh pouze jednoho zaznamu podle primarniho klice. Nacteni jednoho
> zaznamu podle primarnoho klice je velmi rychle.
> Zkus se podivat do helpu ADO na UpdateCriteria, UniqueCatalog
> ,UniqueSchema,
> UniqueTable a predevsim na ResyncCommand.
> Priklad pouziti jsem psal kdysi do konference pod predmetem
> "resync v ADO".
> Neco je i pod predmetem "ADO nezvlada view".
> Pokud tyto prispevky nenajdes, napis. Ja ti je poslu.
>
> Resynchronizovani jednoho zaznamu tabulky na serveru s klientskym
> datasetem
> pouzivam napr. kdyz zezadu zapisuji do zaznamu tabulky na serveru a chci
> zmeny promitnout do zaznamu v klientskem datasetu. Nebo kdyz napr. v
> triggeru zapisuji nebo menim nejake hodnoty zaznamu a ty pak promitam do
> klientskeho datasetu. Refreshovat lze i zaznam s joinovanymi tabulkami.
>
> Programovani nad ADO si nedovedu bez teto funkcnosti vubec
> predstavit. Jinak
> bych asi musel pouzivat nejake memorytable nebo clientdataset
> atd. jak ti uz
> tady radili.
>
> Jinak napr. v ADO.NET si take sestavujes svuj resynchronizacni select pro
> resynchronizaci jednoho zaznamu.
>
--
Internal Virus Database is out-of-date.
Checked by AVG Free Edition.
Version: 7.1.405 / Virus Database: 268.10.8/413 - Release Date: 8.8.2006


Grid a DataSet

[*] radek_456 radek_456 <radek 456(zv)seznam(tec)cz> - 22.8.2006 16:46:37


mezi Query a DBGrid vlozte ClientDataSet a data editujte v tam

OT: Nabidka prace

[*] Martin Matousek <martin.matousek(zv)topspin(tec)cz> - 22.8.2006 16:44:36

Dobry den,
hledame pro pracoviste v Liberci programatora pro vyvoj ekonomickych
aplikaci (Delphi, MSSQL). V prubehu roku 2007/2008 prechod na
technologii .NET.

Pro zaslani podrobnejsich informaci poslete svuj kontakt na email: martin.matousek(zv)topspin(tec)cz

Martin Matousek
TOPSPIN Solutions

Nstaveni promenne na nil po zruseni objektu

[*] Pavel Bares <bares(zv)atoll(tec)cz> - 22.8.2006 16:54:38

Ano prave tohle sem chtel pouzit.
Testoval jsem (ne prilis) a zdalo se to OK.
Je v tom nejaky problem ?

Pavel Bares


delphin(zv)post(tec)cz napsal(a):
>> To uz ale spise prepisu podminku pri vytvareni oken tak, ze misto
>> testovani na nil pouziju funkci IsObject
>>
>
> Tohle doufam urcite ne:
>
> function IsObject(Address: Pointer): Boolean; assembler;
> asm
> // or IsClass(Pointer(Address^));
> MOV EAX, [Address]
> CMP EAX, EAX.vmtSelfPtr
> JNZ (zv)False
> MOV Result, True
> JMP (zv)Exit
> (zv)False:
> MOV Result, False
> (zv)Exit:
> end;
>
> V zadnem pripade neni mozno jakymkoliv zpusobem pristupovat k jiz uvolnene
> pameti, to je hruba chyba a zdroj zdanlive nevysvetlitelnych problemu. Pokud
> tedy TForm1 uvolnim a v promenne Form1 mi zustane ukazatel na instanci, tak
> se s tim uz asi neda nic delat.
>
>
>

Grid a DataSet

[*] Martin Pisarik <martin.pisarik(zv)seznam(tec)cz> - 22.8.2006 16:44:37

line zdroji presne v miste, kde chci
> videt zmenu
> (napriklad po potvrzeni, ze insert nebo update probehl v poradku). Myslim,
> ze to co potrebujes, by mel splnovat ClientDataSet.
>
> Pracovat v gridech z "zivymi" daty povazuju za naprostou zrudnost, ktera
> vede primou cestou k tezko resitelnym potizim, ktere popisujes.
>
Dik za ochotu.
Trochu si ale nerozumime, spatne jsem to asi popsal. Ja nepracuju nad zivymi
daty. Grid nemam napojen na TTable nebo neco takoveho. Mam ho napojen na
TQuery (jednosmerny). Zobrazuje mi to v gridu vysledek sloziteho dotazu.
Grid je samozrejme readonly. Pomoci "editboxu" upravim hodnotu a tu potom
sam svym Updatovacim dotazem zapisu do databaze. Grid vsak pochopitelne
zustane bezezmeny a po refreshi (open, Close) se grid znovu naplni
aktualnimi daty. Tento "Refresh" je vsak pomaly a proto ho nedelam
automaticky. Uzivatele si mohou menit jednotlive zaznamy s tim, ze v Gridu
se jim to "promitne" az po stisku tlacitka pro refresh. Ne vsichni uzivatele
to vsak umi pochopit. Resenim by bylo automaticky refreshovat grid po kazde
zmene v editboxu, ale to je pomale a jedine co chci je aby se v gridu v
prislusnem radku zobrazovala nova hodnota. Tedy nechci _NIJAK_ pracovat s
databazi, to jsem uz udelal v OnExit toho editboxu, ted chci bez refreshe
jen tomu gridu (spis tedy jeho DataSource) nekde prepsat starou hodnotu tou
novou. Nevim vsak jak.
Ten grid nebo spis jeho DataSource si nekde drzi v pameti ty data a ja je
chci prepsat. Jak?
ClientDataSet a pod. pro me neni vhodnym resenim, protoze uz mam aplikaci
hotovou a je v ni _hodne_ datasetu a gridu.
To, jak jsem psal o "editboxu" je vlastne moje komponenta, ktera umi precist
data z DB a taky je umi sama updatovat, chtel bych do ni pridat schopnost
aby ty data menila jednak v DB a jednak nekde v "pameti", odkud cerpa Grid.
Snad jsem to popsal jasneji, moc dekuju za snahu.
--
Internal Virus Database is out-of-date.
Checked by AVG Free Edition.
Version: 7.1.405 / Virus Database: 268.10.8/413 - Release Date: 8.8.2006


Nstaveni promenne na nil po zruseni objektu

[*] delphin(zv)post(tec)cz - 22.8.2006 17:12:39

> Ano prave tohle sem chtel pouzit.
> Testoval jsem (ne prilis) a zdalo se to OK.
> Je v tom nejaky problem ?

Pokud nevadi:

1) Obcasne Access Violation
2) Nahodne nereprodukovatelne chybne chovani programu
3) Probdele noci hledanim chyby

tak to neni zadny problem.

Grid a DataSet

[*] Zbysek Hlinka <konference(zv)hlinka(tec)cz> - 22.8.2006 17:10:39

> -----Original Message-----
> From: delphi-l-owner(zv)clexpert(tec)cz
> [mailto:delphi-l-owner(zv)clexpert(tec)cz] On Behalf Of Martin Pisarik
> Sent: Tuesday, August 22, 2006 4:45 PM
> To: delphi-l(zv)clexpert(tec)cz
> Subject: Re: Grid a DataSet
>
> Dik za ochotu.
> Trochu si ale nerozumime, spatne jsem to asi popsal. Ja
> nepracuju nad zivymi daty. Grid nemam napojen na TTable nebo
> neco takoveho. Mam ho napojen na TQuery (jednosmerny).

Problem je v tom, ze ani TQuery nevyrobi ciste offlinovy kontejner, ale je
stale spojen s db serverem (pres db engine). Proto je treba mezi grid a
TQuery vlozit kontejner, nejspis ClientDataSet. Jinak by bylo treba to cele
prepsat a zbavit vsech BDE komponent, ktere pusobi vic problemu nez uzitku,
zejmena ve slozitejsich schematech.

> editboxu, ted chci bez refreshe jen tomu gridu (spis tedy
> jeho DataSource) nekde prepsat starou hodnotu tou novou.
> Nevim vsak jak.
> Ten grid nebo spis jeho DataSource si nekde drzi v pameti ty
> data a ja je chci prepsat. Jak?

TQuery funguje dost podivne. Saha si do BDE (nebo co tam dnes visi za
hruzu), ktere cosi bufferuje, ale BDE visi na cursorech serveru a dotahuje
postupne data podle potreby. TQuery je takovy kockopes, ktery mel fungovat
nad souborovymi databazemi, ale byl priohnut na SQL databaze. Proto je treba
zajistit, aby se data z dotazu dostala zcela mimo rezii BDE do neceho
jineho, kde si s tim pak muzes nakladat jak potrebujse.

> ClientDataSet a pod. pro me neni vhodnym resenim, protoze uz
> mam aplikaci hotovou a je v ni _hodne_ datasetu a gridu.

Tak to mas dost blby...

> To, jak jsem psal o "editboxu" je vlastne moje komponenta,
> ktera umi precist data z DB a taky je umi sama updatovat,
> chtel bych do ni pridat schopnost aby ty data menila jednak v
> DB a jednak nekde v "pameti", odkud cerpa Grid.

To je dost nevhodne reseni. Komponenta by si spravne mela sahat do offline
kontejneru, a az ten kontejner by se mel starat o tahani dat a jejich
ukladani. Zamotal ses do dost obtizne resitelnych problemu. Presto
doporucuju, aby ses pokusil presmerovat komunikaci na ClientDataSet. Bude to
urcite nejaka prace, ale porad asi lepsi, nez to psat cele znovu a jinak (a
nejlepe v .NET :)).

S pozdravem

Zbysek Hlinka
E-mail: hlinka zavin. hlinka(tec)cz

COM/DCOM

[*] Karel Klimes <klimes(zv)unicontrols-tramex(tec)cz> - 23.8.2006 07:01:37

> Mel bych se zacit zabyvat tvorbou COM objektu. Muzete me
> doporucit nejakou literaturu k tematu (nikoliv Delphi help)? Dik.

Zacal bych timhle,
Dalibor Kacmar: Programujeme v COM a COM+ (Computer Press)

COM/DCOM

[*] Zbysek Hlinka <konference(zv)hlinka(tec)cz> - 23.8.2006 06:53:36

> -----Original Message-----
> From: delphi-l-owner(zv)clexpert(tec)cz
> [mailto:delphi-l-owner(zv)clexpert(tec)cz] On Behalf Of Kalhous
> Sent: Wednesday, August 23, 2006 6:02 AM
> To: delphi-l(zv)clexpert(tec)cz
> Subject: COM/DCOM
>
> Mel bych se zacit zabyvat tvorbou COM objektu. Muzete me
> doporucit nejakou literaturu k tematu (nikoliv Delphi help)? Dik.

Programujeme v .NET.

Bez legrace, .NET bezi v prostredi COM/DCOM, z cehoz plynou velmi zajimave
dusledky. Utilitu napsanou a komfortne odladenou v .NET lze namaskovat jako
COM objekt, takze pokud si das pozor na predavane typy, mel bys to byt
schopen zavolat z Win32 aplikaci. Myslim tim ale skutecne .NET, nikoliv
VCL.NET.

S pozdravem

Zbysek Hlinka
E-mail: hlinka zavin. hlinka(tec)cz

Windows service z normalni aplikace.

[*] Jaromir Cermak <cermak(zv)procom(tec)cz> - 23.8.2006 06:39:35

Ahoj vsichni

Potreboval bych poradit s nasledujicim. Mam beznou windows aplikaci. Na jejim hlavnim formulari je Timera nejak a tlacitka ktera zajistuji urcita nastaveni. Obsluha timeru otestuje zda jsou na MSSQL nezpracovana data a pripadne provede potrebne zmeny. Na stisk Buttonu se otevre formular s nastavenim apod. Nevite jak by se dala takovato aplikace prevest do formy podobne jako Borland Socket server. Rad bych aby sla pustit jako bezna aplikace i jako service.

Pouzivam D7, ADOExpress (soucast D7) a QuickReport (tisk bez preview). Zajimalo by me jestli nemuze byt nejaky problem.

Pomohl by mi odkaz na nejakou kucharku, jak na to.

Dekuji za kazdy tip.
Jaromir Cermak

COM/DCOM

[*] Kalhous <kalhous(zv)eu(tec)cz> - 23.8.2006 06:01:32

Mel bych se zacit zabyvat tvorbou COM objektu. Muzete me doporucit nejakou literaturu k tematu (nikoliv Delphi help)? Dik.
RNDr Z.Kalhous
ToWare s.r.o.
kalhous(zv)eu(tec)cz
tel.:466 614 024


Indy 9 - odoslanie udajov pomocou POST

[*] Roland Turcan <konf(zv)rotursoft.sk> - 23.8.2006 00:27:09

Hello All!

Este stale bojujem s problemom, ktory mi sposobuje nestandartny HTTPS
server.

Moj problem spociva v tom, ze sa snazim poslat nejake informacie na
HTTPS server, ale dostavam spat:

> HTTP/1.1 303 See Other

> Redirection URI je: /error_path/400.html

Ked som kontaktoval spravcu toho servera, tak mi povedal, ze posielam
pomocou POSTu dlhsie data ako je povolene. Poslal mi vypis jeho logu:

> Aug 10 16:53:43 (70-15401-100) SecGW filter notification: Maximum
> length of parameter name exceeded for
> "nejake kodovane data v dlzke 471 bytes"
> (name length is 471) in rule "(default) allow all rule". Allowed length is 128

Ked som sa opytal, ze ako mam poslat dlhsie data, tak som obdrzal
odpoved, ze mam poslat data pomocou POSTu, ale nie ako parameter, ale
mam to poslat v BODY spravy.

Vie niekto ako sa to robi?

Dakujem.

--
Best regards, TRoland

http://exekutor.rotursoft.sk

Spusteni FB na Windows Server 2003

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

On 22.8.2006 14:42 Jaroslav Uher wrote:
> Ahoj,
>
> Windows Server2003, Firebird 1.5
>
> Jakmile jsme zacali pouzivat vlastni DLL s UDF nastaly (jiste vsem
> zmame) potize se spravcem site.
>
> Proto se snazim na TS, kde mam vsecha prava, nainstalovat Firebird
> podle http://www.fbtalk.net/viewtopic.php?id=210
>
> coz semi sice podari, ale jiz nedokazu spustit Firebird.
> Zkousel jsem restarty, nic.
> V apeletu je button Start disablovany
> a firebird.log tam ma 'INET/inet_error: connect errno = 10061'.
>
> Potreboval bych, aby chodilo pripojeni k FBD i na lokalnim serveru.
>
> Dekuji za vase namety a zkusenosti,
>
> Jarek Uher
>

Jak bezi FB (sluzba/app)? Bezi Guardian? Pod jakym uctem bezi?

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

posilani zprav mezi programy na terminal serveru

[*] Ludek <konference(zv)sales(tec)cz> - 22.8.2006 18:38:45


----- Original Message -----
From: "Ladislav Fitz" <ladislav.fitz(zv)kodytek(tec)cz>

> zdravim nevite nekdo jak na posilani zprav mezi programy ktere behaji na
> terminal serveru (v podstate je to jeden na ruznich pripojenich) - jedna
> se
> o informaci ze se neco zmenilo v databazi

Ahoj,
A cim se to lisi od sitoveho pristupu k databazi ?. Nebylo by lepsi o tom
premyslet spise z tohoto hlediska ?

Ludek

Nstaveni promenne na nil po zruseni objektu

[*] Petr Fejfar <development(zv)callnet(tec)cz> - 22.8.2006 17:40:41

Pavel Bares wrote:

> je pomerne narocne prolezt cely rozsahly program a vsude to doplnit.
> Bohuzel a si nebude jina cesta nez to vsude opravit.

S nastroji, se kterymi jsem zvykly pracovat, mi to zase moc pracny
nepripada.

1. Udelal bych si zalozni kopii adresaru se zdrojovkama

2. Pomoci jednoho regex bych MultiEditem prevratil vsechna
Neco.Free na FreeAndNil(Neco) ve vsech *.pas *.dpr *.inc
a buhvi kde jeste nejak takhle:

Search for: ^( *)([^ ]+) *\. *Free *;
Replace with: \0FreeAndNil\(\1\);

3. A nakonec bych porovnal zalozni a novou adresarovou strukturu
Araxis mergem a pro jistotu prohlid vsechny zmeny, jestli jsem
nenahradil neco, co jsem nechtel.

Kdyby tech zmen bylo 1000 a jednu jsi zkontroloval rekneme cca 3 s,
tak je to tak hodinka prace.


HTH, pf

posilani zprav mezi programy na terminal serveru

[*] Pavel Gazda <pavel gazda(zv)datasw(tec)cz> - 23.8.2006 07:23:39

>> zdravim nevite nekdo jak na posilani zprav mezi programy ktere behaji na
>> terminal serveru (v podstate je to jeden na ruznich pripojenich) - jedna
>> se o informaci ze se neco zmenilo v databazi

Ahoj,

resil jsem komunikaci mezi aplikacemi, ktere mohou byt na 1 PC, na siti (v
ruznem poctu)
a nebo na terminal serveru ( pod uctem system, i pod klienty ).
Zvolil jsem SYNAPSI a komunikaci UDP (posilam jen male mnozstvi dat )

1. zkusenosti: dochazi ke ztratam dat, nyni opakuji kazdy pokus 3x a zda se
to dostatecne.
( nemohu pouzit podminku typu "dokud se nespojis" )


Pavel


Windows service z normalni aplikace.

[*] Tomas Rosa <trosa(zv)seznam(tec)cz> - 23.8.2006 07:49:41

> Potreboval bych poradit s nasledujicim. Mam beznou windows aplikaci. Na jejim hlavnim formulari je Timera nejak a tlacitka ktera zajistuji urcita nastaveni. Obsluha timeru otestuje zda jsou na MSSQL nezpracovana data a pripadne provede potrebne zmeny. Na stisk Buttonu se otevre formular s nastavenim apod. Nevite jak by se dala takovato aplikace prevest do formy podobne jako Borland Socket server. Rad bych aby sla pustit jako bezna aplikace i jako service.
>
> Pouzivam D7, ADOExpress (soucast D7) a QuickReport (tisk bez preview). Zajimalo by me jestli nemuze byt nejaky problem.
>
> Pomohl by mi odkaz na nejakou kucharku, jak na to.

Pouzivam toto - snad se to bdue hodit. Ma to defacto 3 parametry - /install
/uninstall
/setup ( = nastavovvaci formular)

a bez parametru se to pusti jako bezna aplikace.
Hlavni formular musi mit metodu Initialize(fromservice:boolean) ktera si
zapne vse potrebne a tak. Hlavne v ni poznas, jestli jsi ci nejsi sluzba.

---------------------------------
program HKPBXConnector;

{$R 'mainico.res' 'mainico.rc'}
{$R '_HKPBXConnector.res' '_HKPBXConnector.rc'}

uses
FastMM4,
SvcMgr,
Forms,
Windows,
SysUtils,
WinSvc,
PBXConMainU in 'PBXConMainU.pas' {PBXConMain},
SerialServerU in 'SerialServerU.pas',
pbxConstsU in 'pbxConstsU.pas',
CdrSaverU in 'CdrSaverU.pas',
SetupHolderU in '..\SetupHolderU.pas',
PBXSetupFormU in 'PBXSetupFormU.pas' {PBXSetupForm};

{*$R *.res}

function Installing: Boolean;
begin
Result := FindCmdLineSwitch('INSTALL',['-','\','/'], True) or
FindCmdLineSwitch('UNINSTALL',['-','\','/'], True);
end;

function StartService: Boolean;
var
Mgr, Svc: Integer;
UserName, ServiceStartName: string;
Config: Pointer;
Size: DWord;
begin
Result := False;
Mgr := OpenSCManager(nil, nil, SC_MANAGER_ALL_ACCESS);
if Mgr <> 0 then
begin
Svc := OpenService(Mgr, PChar(SServiceName), SERVICE_ALL_ACCESS);
Result := Svc <> 0;
if Result then
begin
QueryServiceConfig(Svc, nil, 0, Size);
Config := AllocMem(Size);
try
QueryServiceConfig(Svc, Config, Size, Size);
ServiceStartName :=
PQueryServiceConfig(Config)^.lpServiceStartName;
if CompareText(ServiceStartName, 'LocalSystem') = 0 then
ServiceStartName := 'SYSTEM';
finally
Dispose(Config);
end;
CloseServiceHandle(Svc);
end;
CloseServiceHandle(Mgr);
end;
if Result then
begin
Size := 256;
SetLength(UserName, Size);
GetUserName(PChar(UserName), Size);
SetLength(UserName, StrLen(PChar(UserName)));
Result := CompareText(UserName, ServiceStartName) = 0;
end;
end;

begin
if ParamStr(1)='/setup' then
begin
Forms.Application.Initialize;
Forms.Application.Title := 'Hotel-Keeper - Telefonni ust?edna';
Application.CreateForm(TPBXSetupForm, PBXSetupForm);
Forms.Application.Run;
end else
begin
if not Installing then
begin
CreateMutex(nil, True, 'HKPBXCONN');
if GetLastError = ERROR_ALREADY_EXISTS then
begin
MessageBox(0, 'Aplikace je jiz pusti`na.', SApplicationName,
MB_ICONERROR);
Halt;
end;
end;
if Installing or StartService then
begin
SvcMgr.Application.Initialize;
SocketService := TSocketService.CreateNew(SvcMgr.Application, 0);
SvcMgr.Application.CreateForm(TPBXConMain, PBXConMain);
SvcMgr.Application.Run;
end else
begin
//Forms.Application.ShowMainForm := False;
Forms.Application.Initialize;
Forms.Application.CreateForm(TPBXConMain, PBXConMain);
PBXConMain.Initialize(False);
Forms.Application.Run;
end;
end;
end.


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

unit PBXConMainU;

interface

uses
SvcMgr, ...;

const
UI_INITIALIZE = WM_USER + 656;

type
TSocketService = class(TService)
protected
procedure Start(Sender: TService; var Started: Boolean);
procedure Stop(Sender: TService; var Stopped: Boolean);
public
function GetServiceController: TServiceController; override;
constructor CreateNew(AOwner: TComponent; Dummy: Integer = 0);
override;
end;

TPBXConMain = class(TForm)
procedure UIInitialize(var Message: TMessage); message UI_INITIALIZE;
...

...

{ TSocketService }

procedure ServiceController(CtrlCode: DWord); stdcall;
begin
SocketService.Controller(CtrlCode);
end;

function TSocketService.GetServiceController: TServiceController;
begin
Result := ServiceController;
end;

constructor TSocketService.CreateNew(AOwner: TComponent; Dummy: Integer);
begin
inherited CreateNew(AOwner, Dummy);
AllowPause := False;
Interactive := True;
DisplayName := SApplicationName;
Name := SServiceName;
OnStart := Start;
OnStop := Stop;
end;

procedure TSocketService.Start(Sender: TService; var Started: Boolean);
begin
PostMessage(PBXConMain.Handle, UI_INITIALIZE, 1, 0);
Started := True;
end;

procedure TSocketService.Stop(Sender: TService; var Stopped: Boolean);
begin
PostMessage(PBXConMain.Handle, WM_QUIT, 0, 0);
Stopped := True;
end;

...


procedure TPBXConMain.UIInitialize(var Message: TMessage);
begin
Initialize(Message.WParam <> 0);
end;

...

Jak pripojit klienta k DB Firebird 1.5

[*] Miloslav Pojsl <mpojsl(zv)seznam(tec)cz> - 23.8.2006 08:25:44

>
> Na stanici staci dll knihovna (gds32.dll pro Interbase a FB nizsi nez 1.5,
> fbclient.dll pro FB 1.5. a vyse). Pres tuto knihovnu se komunikuje s sql
> serverem. Rozhrani teto dll obaluji ruzne "balicky" komponent, napr. IBxxx v
> zalozce Interbase, dbExpress komponenty z zalozce dbExpress. Databaze, ke
> ktere se chces pripojit se z klienta specifikuje ve tvaru:
> ip:databaze, kde za ip se da ip adresa pocitace, ne nemz bezi FB a kde je
> ulozena db a za databaze se dosadi cesta a jmeno databaze, kde je na tom
> serveru umistena. Napr. 192.168.1.1:c\MojeData\ucto.fdb, pricemz adresar,
> kde je db umistena nemusi a ani by z hlediska zabezpeceni nemel byt sdileny.
> A nemusi to byt ip adresa vnitrni site, ale klidne pocitac kdekoli "ve
> svete". A jeste poznamka, klient Firebirdu komunikuje se serverem na portu
> 3050 (pokud to neprekonfigurujes), takze tento se musi povolit ve
> firewallech.
>
> Marek Dostal
> D7Prof, WinXP, FireBird 1.0, 1.5
>
Moc dekuji za info, jen jeste dotaz. Uz jsem zkousel DB aplikaci prenest na jiny pocitac v jeji lokalni verzi (App+DB na jednom compu).
Klientskou knihovnu fblocal.dll jsem zkousel zkopirovat jak do adresare aplikace, tak potom i do Win\System32, ale ani v jednom pripade to nefungovalo. Davalo to stejnou hlasku, jako v pripade, kdy pocitac nemel s Firebirdem nic spolecneho...
Nevite jak to udelat? Ten samy problem me ceka i pro sitove reseni...

M. Pojsl

Jak pripojit klienta k DB Firebird 1.5

[*] Marek Dostal <konf(zv)agnis(tec)cz> - 23.8.2006 08:57:46

> Moc dekuji za info, jen jeste dotaz. Uz jsem zkousel DB aplikaci prenest
> na jiny pocitac v jeji lokalni verzi (App+DB na jednom compu).
> Klientskou knihovnu fblocal.dll jsem zkousel zkopirovat jak do adresare
> aplikace, tak potom i do Win\System32, ale ani v jednom pripade to
> nefungovalo. Davalo to stejnou hlasku, jako v pripade, kdy pocitac nemel s
> Firebirdem nic spolecneho...
> Nevite jak to udelat? Ten samy problem me ceka i pro sitove reseni...

Na pc, kde je umistena db musi byt nainstalovan Firebird. Takze pokud
prenesete na nejaky pc program i db, musi se Firebird nainstalovat. Pokud
bude db na jinem pocitaci, potom na stanici staci klientska knihovna.
Vyjimkou je embedded verze Firebirdu, ktera existuje od verze Firebirdu 1.5,
kdy se nemusi Firebird instalovat, ale fbclient.dll se zameni za jinou
knihovnu stejneho jmena, ktera obsahuje jak klientskou cast, tak funkcnost
sql serveru. Je to plnohodnotny Firebird s omezenim, ze nelze provest vice
soucasnych pripojeni k databazi a lze se pripojit jen k lokalni db. Tohle je
podrobne popsano v ReleaseNotes u Firebirdu. Takze kdyz to shrnu:
- provoz na jednom PC: instalovan Firebird, instalovan vas program
- provoz na siti: na serveru instalovan Firebird. Stanice spousti program ze
serveru nebo ze stanice a pres fbclient.dll se pripojuje k Firebirdu
bezicimu na serveru.

Poznamka: 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.

Marek Dostal
D7Prof, WinXP, FireBird 1.0, 1.5

Jak pripojit klienta k DB Firebird 1.5

[*] Milan Tomes <delphi(zv)haida(tec)cz> - 23.8.2006 09:19:49

Mozna pomuze informace, ze pokud pouzivate komponenty IBExpress (zalozka
InterBase v Delphi 7) tak tyto komponenty pouzivaji fixne knihovnu
gds32.dll, takze prejmenujte fbclient.dll nebo fblocal.dll na gds32.dll
(nebo vyuzijte nastroj z distribuce FireBirdu, ktery krom jineho jeste
upravi versioninfo).

S pozdravem

Milan Tomes

Marek Dostal napsal(a):
>> Moc dekuji za info, jen jeste dotaz. Uz jsem zkousel DB aplikaci prenest
>> na jiny pocitac v jeji lokalni verzi (App+DB na jednom compu).
>> Klientskou knihovnu fblocal.dll jsem zkousel zkopirovat jak do adresare
>> aplikace, tak potom i do Win\System32, ale ani v jednom pripade to
>> nefungovalo. Davalo to stejnou hlasku, jako v pripade, kdy pocitac nemel s
>> Firebirdem nic spolecneho...
>> Nevite jak to udelat? Ten samy problem me ceka i pro sitove reseni...
>>
>
> Na pc, kde je umistena db musi byt nainstalovan Firebird. Takze pokud
>

Jak zjistit Handle prihlaseneho uzivatele pro pouz

[*] little_bobes(zv)centrum(tec)cz - 23.8.2006 09:25:50

Zdravim,
upravil jsem tedy postup aktualizace a pridal aktualizacni exe soubor.
Jednotlive kroky aktualizace nyni funguji jak maji a program se opravdu
spusti v kontextu uzivatele.

Nyni ale zapasim s Mutexy, ktere chci pouzit pro synchronizaci mezi
aplikacemi.
Moje predstava je takovato:
1. - hlavni program vytvori napr. 'mutex1' pomoci CreateMutex(nil, false,
'mutex1')
2. - aktualizacni program ceka pomoci WaitForSingleObject(hMutex, INFINITE),
az bude hlavni aplikace ukoncena a nebude 'mutex1' existovat (hMutex :=
OpenMutex(MUTEX_ALL_ACCESS, 'mutex1')
3. - pote si aktualizacni program vytvori vlastni mutex 'mutex2' a da zpravu
sluzbe, aby stahla aktualizace a nainstalovala je
4. - po ukonceni instalace sluzba zrusi 'mutex2'
5. - behem instalace ceka aktualizacni program na to, dokud 'mutex2'
existuje, tj. dokud jej sluzba nezrusi, coz znamena, ze instalace je
ukoncena
6. - aktualizacni program spusti hlavni program

Problem mam uz v bode 2, kdy ackoliv hlavni program stale bezi,
WaitForSingleObject() v aktualizacnim programu probehne a na nic neceka.
Zaroven jsem si myslel, ze handle, ktery se mi vrati po OpenMutex je stejny,
jako ten, ktery vznikl po vytvoreni Mutexu.
I dvakrat spusteny CreateMutex() se stejnym textem mi vrati ruzne handly.

Co delam spatne?
Prosel jsem na internetu kdeco ohledne Mutexu, ale asi mi stale neco unika.

Predem dekuji za rady

S pozdravem Bob
(D4 c/s, FB1.5)> > Dival jsem se na funkci CreateProcessAsUser(), ale nevim, jak presne
> > zjistit
> > handle od prihlaseneho uzivatele.
>
> Neexistuje nic takoveho jako prave prihlaseny uzivatel, prihlasenych
> uzivatelu muze byt nekolik. Dale pokud ma aplikace GUI, tak to se pri
> CreateProcessAsUser zpravidla nezobrazi na tom spravnem desktopu, viz Fast
> User Switching a Terminal Services.
> Pouzitelne reseni je aby aplikace.exe spustila aktualizace.exe jeste v
> kontextu uzivatele, to bude komunikovat se sluzbou a pak znovu spusti
> aplikace.exe
>

K tematu: Grid a DataSet

[*] Miloslav Pojsl <mpojsl(zv)seznam(tec)cz> - 23.8.2006 09:53:53

Zdravim vsechny,

diskuze o vazbach mezi DBGridem ruznymi drzhy DataSetu me dost zaujala. Jsem totiz v podobne situaci. Delam to stejne, jako autor dotazu. Kdyz jsem aplikaci zacal psat, tak jsem nevedel, ze je lepsi misto IBQuery pouzivat obecnejsi IBDataSet. Ted se mi do toho ale vloudil dalsi pojem: IBClientDataSet:-) Praci s IBDataSetem si umim uz ted predstavit, ale jak by se lisila prace s IBClientDataSetem? Tedy pracuju na klientovy s nejakou dat. mnozinou vybranou z DB dotazem IBClientDataSet.CommandText, delam upravy dat, mazu, pridavam... a pak to chci aktualizovat v DB. K nejakemu IBDataSetu pripradim data z IBClientDataSetu a UpDatenu to do DB? Zkratka neni mi jasny rozdil v praci s IBDataSetem a IBClientDataSetem

Muze mi nekdo dat strucne vysvetleni? Diky, zdravi Milos Pojsl

Excel - ADO - jak zmenit automaticky typ 1. sloupc

[*] Ing. Jiri SOKOL <js-delphi(zv)seznam(tec)cz> - 23.8.2006 10:21:55

Ahoj vsem!
Prosim Vas o radu - neb nevim jak dal...
Pripojim se k sesitu excelu (*.xls) pomoci ADOConnection. Pote chci udelat select dat z listu ("List1").
Data prijdou, vse je OK - vcem mam problem:
1. sloupec obsahuje jak cisla, tak text - z nejakeho duvodu si ale ADOQuery mysli, ze 1. sloupec je typu integer a tak misto textu da NULL, cimz prichazim o data na vstupu me metody...

Muzete mi, prosim, nekdo poradit, jak donutim ADO otevrit sesit, udelat select z jednoho listu tak, aby v prvni sloupci byl datovy typ "text"/"char"/"varchar"?

Dekuji predem za jakykoli napad
Jirka
--------------------------------------------------------------
Ing. Jiri Sokol, jiri.sokol(zv)seznam(tec)cz, 724 144 097
D6Prof+SP3; WinXP+SP2; Firebird 1.5.3
programator amater

Podivna konverze Oracle number s desetinnou carkou

[*] Skalsky Milan <skalsky(zv)komercpoj(tec)cz> - 23.8.2006 10:33:56

Ahoj delphini,
v Oracle DB mam v tabulce nadefinovane pole jako NUMBER(15,2) ... kdyz ho vytahnu pres dbExpress komponenty do DBGridu, zobrazi se mi puvodni hodnoty, ktere jsou v tabulce s desetinnou carkou, v gridu bez desetinne carky a defacto vynasobene 100. (100.55 v DB je v gridu 10055). Uplne stejne to samozrejme funguje, kdyz to taham primo z query, at uz to taham pres fieldByName.asFloat nebo fieldByName.asString.
Netusite nekdo, cim to?

Uz jsem se s tim setkal u DB2, ale tam to byla chybka v klientu DB2 a resilo se to nejakym patchem na toho klienta ... ale u Oracle jsem se s tim jeste nesetkal :(

Milan
D7 Ent., WinXP

Indy 9 - odoslanie udajov pomocou POST

[*] Petr Fejfar <development(zv)callnet(tec)cz> - 23.8.2006 10:25:56

Roland Turcan wrote:

> Ked som sa opytal, ze ako mam poslat dlhsie data, tak som obdrzal
> odpoved, ze mam poslat data pomocou POSTu, ale nie ako parameter, ale
> mam to poslat v BODY spravy.

Asi po tobe chce, abys opustil content-type
"application/x-www-form-urlencoded", ktery pouziva
v podstate stejny zapis, jako kdyz uvedes parametry
v query casti URL u metody GET, akorat je zapise
jako jediny radek do tela zpravy a nahradil ho
"multipart/form-data", kde kazda cast v tele odpovedi
odpovida jednomu parametru.

Podrobnosti viz specifikace HTML 4 na W3C.


HTH, pf

Spusteni FB na Windows Server 2003

[*] Jaroslav Uher <jarek(zv)iuher(tec)cz> - 23.8.2006 11:05:59

On 22 Aug 2006 at 20:18, Jiri Cincura wrote:

> > Windows Server2003, Firebird 1.5
> >
> > Jakmile jsme zacali pouzivat vlastni DLL s UDF nastaly (jiste vsem
> > zmame) potize se spravcem site.
> >
> > Proto se snazim na TS, kde mam vsecha prava, nainstalovat Firebird
> > podle http://www.fbtalk.net/viewtopic.php?id=210
> >
> > coz semi sice podari, ale jiz nedokazu spustit Firebird.
> > Zkousel jsem restarty, nic.
> > V apletu je button Start disablovany
> > a firebird.log tam ma 'INET/inet_error: connect errno = 10061'.
> >
> > Potreboval bych, aby chodilo pripojeni k FBD i na lokalnim serveru.

> Jak bezi FB (sluzba/app)? Bezi Guardian? Pod jakym uctem bezi?

no, spise (ne)bezi
jak Guardien, tak i FB Server jsou pod uctem FB_USER a zkousel jsem
menit 'Status Type' - Automatic/Manual, ale nic nepomaha.

Jarek Uher

COM/DCOM

[*] Martin Koran <info(zv)komar(tec)cz> - 23.8.2006 11:20:00

Ahoj,

> Mel bych se zacit zabyvat tvorbou COM objektu. Muzete me
> doporucit nejakou literaturu k tematu (nikoliv Delphi help)?
> Dik. RNDr Z.Kalhous ToWare s.r.o. kalhous(zv)eu(tec)cz tel.:466 614 024

http://www.techvanguards.com/

S pozdravem
Martin Koran


Martin Koran
Podebradova 877
440 01 Louny

tel.: +420 415 654 019
fax: +420 415 655 385
hotline: +420 602 423 372

mailto:info(zv)komar(tec)cz
http://www.komar(tec)cz
ICQ#: 151332479
MSN Messenger: info(zv)komar(tec)cz
SKYPE: martin.koran

Spusteni FB na Windows Server 2003

[*] Jiri Cincura <diskuze(zv)cincura(tec)net> - 23.8.2006 11:44:02

On 23.8.2006 11:05 Jaroslav Uher wrote:
> no, spise (ne)bezi
> jak Guardien, tak i FB Server jsou pod uctem FB_USER a zkousel jsem
> menit 'Status Type' - Automatic/Manual, ale nic nepomaha.
>
> Jarek Uher
>

Myslim ze problem bude v tom uctu. Zkus ho (jen pro testnuti) spustit pod
Local System. Pokud nabehne, vis kde je problem.

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

Excel - ADO - jak zmenit automaticky typ 1. sloupc

[*] Ing. Jiri SOKOL <js-delphi(zv)seznam(tec)cz> - 23.8.2006 12:36:05

Tak jsem postoupil v badani o maly kousek dal:
- nemuzu definovat fieldtype pred otevrenim nejakeho dataset-u, protoze pak to skonci na exception mismatch type :(
- rozhodujici je prvni radek v *.xls souboru
Pokud tedy dosadim do xls souboru 1. radek, ktery ma v 1. sloupci jasny text, pak mi se mi otevre ADOQuery s 1. sloupcem typu text - HURA!

JENOMZE! A ted vas prosim znovu o nejakou radu -
pokud bylo v tom sloupci nejake vesti cislo 6 a vice mistne, pak mi to prijde jako 1.121e+007 to je pro me zase SPATNE!!!
Nevite, prosim nekdo, jak odstranit to, aby cislo prislo ve zkracenem formatu? (pozn. je to divne, ze kdyz to prijde jako cislo, ze to prijde normalne a kdyz to ma prijit jako text, tak to prijde v tomto pro mne nepouzitelnem formatu :( )

Potrebuji otverit dva sesity a porovnat je podle 1. sloupce - kdyz jsem to delal pres TExcelApplication, tak projit 12500 radku trvalo vic jak 15 minut - coz je des, tak jsem to chtel resit otevrenim pres ADO, ale to mi zase dela tyhle problemy - muzete mi kdyz tak nekdo poradit jak bych tuto ulohu mohl resit?

Diky vsem!
Jirka

> ------------ Puvodni zprava ------------
> Pripojim se k sesitu excelu (*.xls) pomoci ADOConnection. Pote chci udelat
> select dat z listu ("List1").
> Data prijdou, vse je OK - vcem mam problem:
> 1. sloupec obsahuje jak cisla, tak text - z nejakeho duvodu si ale ADOQuery
> mysli, ze 1. sloupec je typu integer a tak misto textu da NULL, cimz prichazim o
> data na vstupu me metody...
>
> Muzete mi, prosim, nekdo poradit, jak donutim ADO otevrit sesit, udelat select z
> jednoho listu tak, aby v prvni sloupci byl datovy typ "text"/"char"/"varchar"?

> Jirka

tisk pdf souboru pres activex

[*] David Kopecek <david.kopecek(zv)hacktrack(tec)com> - 23.8.2006 12:56:07

Zdravim konferenci

poradil by mi nekdo jak vytiskonout pdf soubor v delphi pomoci objektu
acrobatu ?

nasel sem tohle http://www.swissdelphicenter.ch/en/showcode.php?id=2169

ale nejdou mi importovat objekty podle jejich navodu

a reseni co sem nasel na internetu pres shellexecute je na houby

Diky David

Instalace JEDY (3,2)

[*] Venca Zaruba <zaruba(zv)elastoform(tec)cz> - 23.8.2006 12:36:06

HI,
Instaluju novej komp a narazil jsem na problemek.
Kompilace JVCLInstall (i Jclinstall a qinstall) konci chybou: nelze zalozit soubor JVCLInstall.str ..??
Snazil jsem se jit dle postupu.
Toto se deje i se starsi verzi. Co delam spatne? Jak nejjednoduseji "rucne" neinst knihovny..
Nelze nejak prenest nastavene a vychytane Delphi se vsemi prislusnymi klici?

D7 XPpro

Prijemny zbytek dne
Vasek Zaruba
8^)

Instalace JEDY (3,2)

[*] Ivan Dulgerov <ivan.dulgerov(zv)sazp.sk> - 23.8.2006 13:28:10

Venca Zaruba wrote / napisal(a):
> HI,
> Instaluju novej komp a narazil jsem na problemek.
> Kompilace JVCLInstall (i Jclinstall a qinstall) konci chybou: nelze zalozit soubor JVCLInstall.str ..??
> Snazil jsem se jit dle postupu.

*A mas uplne pristupove prava na tom pocitaci?
*Napr. pravo zapisu tam kde instalujes?
*Skus ten adresar nazdielat.


--
S pozdravom

Ivan Dulgerov CEI SAZP Delphi programator

Tajovskeho 28
97590 Banska Bystrica
tel: 048 4374144
ICQ : 190698607
mail : ivan.dulgerov(zv)sazp.sk


Instalace JEDY (3,2)

[*] Va?ek Zaruba <zaruba(zv)elastoform(tec)cz> - 23.8.2006 13:48:11

>> Kompilace JVCLInstall (i Jclinstall a qinstall) konci chybou: nelze zalozit soubor JVCLInstall.str ..??
>
>*A mas uplne pristupove prava na tom pocitaci?
>*Napr. pravo zapisu tam kde instalujes?
>*Skus ten adresar nazdielat.
>

Mam, nasdilel a vse marne.....
Nyni se pokousim prenest knihovny 1:1 a prenest registry

Jaky je rozdil mezi IBClientDataSet a IBDataSet

[*] Miloslav Pojsl <mpojsl(zv)seznam(tec)cz> - 23.8.2006 14:02:13

zdravim vsechny, prosim muze mi nekdo strucne objasnit, jaky je rozdil v pouziti komponent IBClientDataSet a IBDataSet

M. Pojsl

Jak zjistit Handle prihlaseneho uzivatele pro pouz

[*] little_bobes(zv)centrum(tec)cz - 23.8.2006 14:00:12

Nedalo mi to a zase se vrhnul na hledani po internetu a tak jsem nakonec
zjistil, v cem je problem.
Problem je nekde v zdrojaku v Delphi 4, protoze kdyz jsem do CreateMutex()
misto TRUE napsal Bool(1), hned to funguje.

Bob
(D4 c/s, FB1.5)

> Zdravim,
> upravil jsem tedy postup aktualizace a pridal aktualizacni exe soubor.
>
> Nyni ale zapasim s Mutexy, ktere chci pouzit pro synchronizaci mezi
> aplikacemi.
> Moje predstava je takovato:
> 1. - hlavni program vytvori napr. 'mutex1' pomoci CreateMutex(nil, false,
> 'mutex1')
> 2. - aktualizacni program ceka pomoci WaitForSingleObject(hMutex,
INFINITE),
> az bude hlavni aplikace ukoncena a nebude 'mutex1' existovat (hMutex :=
> OpenMutex(MUTEX_ALL_ACCESS, 'mutex1')
> 3. - pote si aktualizacni program vytvori vlastni mutex 'mutex2' a da
zpravu
> sluzbe, aby stahla aktualizace a nainstalovala je
> 4. - po ukonceni instalace sluzba zrusi 'mutex2'
> 5. - behem instalace ceka aktualizacni program na to, dokud 'mutex2'
> existuje, tj. dokud jej sluzba nezrusi, coz znamena, ze instalace je
> ukoncena
> 6. - aktualizacni program spusti hlavni program
>
> Problem mam uz v bode 2, kdy ackoliv hlavni program stale bezi,
> WaitForSingleObject() v aktualizacnim programu probehne a na nic neceka.
> Zaroven jsem si myslel, ze handle, ktery se mi vrati po OpenMutex je
stejny,
> jako ten, ktery vznikl po vytvoreni Mutexu.
> I dvakrat spusteny CreateMutex() se stejnym textem mi vrati ruzne handly.
>

Instalace JEDY (3,2)

[*] Ladislav Stary <stary(zv)ekodat(tec)cz> - 23.8.2006 13:22:09

v tom adresari by meli byt soubory install.bat a clean.bat. Spustis to
normalne mimo delphi a vsechno se udela automaticky.
Nejdrive je treba jeste nainstalovat JCL knihovnu.

Ladislav Stary

Venca Zaruba napsal(a):

>HI,
>Instaluju novej komp a narazil jsem na problemek.
>Kompilace JVCLInstall (i Jclinstall a qinstall) konci chybou: nelze zalozit soubor JVCLInstall.str ..??
>Snazil jsem se jit dle postupu.
>Toto se deje i se starsi verzi. Co delam spatne? Jak nejjednoduseji "rucne" neinst knihovny..
>Nelze nejak prenest nastavene a vychytane Delphi se vsemi prislusnymi klici?
>
>D7 XPpro
>
>Prijemny zbytek dne
>Vasek Zaruba
>8^)
>
>

Windows service z normalni aplikace.

[*] Tomas Rosa <trosa(zv)seznam(tec)cz> - 23.8.2006 14:04:13

Na prvni pozici do USES dej tusim ze ActiveX

- to zavola CoInitialize samo. Ale musi to byt nekde vpredu.

tr

Jaromir Cermak wrote:
> Ahoj vsichni
>
> Podle predchoziho dopisu jsem udela nasledujici pokus. Do projektu jsem pridal unitu s deklaraci TServis pres File|New|Other|Service. Upravil jsem kod projektu .dpr podle vzoru v predch dopisu. Samozrejme vc potrebnuc podprogramu.
> Kdyz to pustim, rve mi to ze mam pouzit CoInitialize. Kdyz dam na zacatek kodu hlavniho programu CoInitialize a na konec dam (nebo pripadne i nedam) CoUninitialize skoncim na tomto prikazu (pri na endu programu) hlaskou Access violation. Pouzivam ADO komponenty z D7. Prosim kde by mely byt ty inicializace?
>
>
>

Spusteni FB na Windows Server 2003

[*] Jaroslav Uher <jarek(zv)iuher(tec)cz> - 23.8.2006 15:02:17

On 23 Aug 2006 at 11:44, Jiri Cincura wrote:

> > no, spise (ne)bezi
> > jak Guardien, tak i FB Server jsou pod uctem FB_USER a zkousel jsem
> > menit 'Status Type' - Automatic/Manual, ale nic nepomaha.
>
> Myslim ze problem bude v tom uctu. Zkus ho (jen pro testnuti) spustit
> pod Local System. Pokud nabehne, vis kde je problem.

to ja vim, kde problem JE, ale nevim PROC.
Udelal jsem to presne podle toho navodu.

Opravdu vam vsem bezi Firebird pod 'LocalSystem' ?

Jarek Uher

Windows service z normalni aplikace.

[*] Jaromir Cermak <cermak(zv)procom(tec)cz> - 23.8.2006 14:42:15

Nejak to nepomaha a furt to pada
Jaromir Cermak



Na prvni pozici do USES dej tusim ze ActiveX

- to zavola CoInitialize samo. Ale musi to byt nekde vpredu.

tr


Windows service z normalni aplikace.

[*] Jaromir Cermak <cermak(zv)procom(tec)cz> - 23.8.2006 13:44:11

Ahoj vsichni

Podle predchoziho dopisu jsem udela nasledujici pokus. Do projektu jsem pridal unitu s deklaraci TServis pres File|New|Other|Service. Upravil jsem kod projektu .dpr podle vzoru v predch dopisu. Samozrejme vc potrebnuc podprogramu.
Kdyz to pustim, rve mi to ze mam pouzit CoInitialize. Kdyz dam na zacatek kodu hlavniho programu CoInitialize a na konec dam (nebo pripadne i nedam) CoUninitialize skoncim na tomto prikazu (pri na endu programu) hlaskou Access violation. Pouzivam ADO komponenty z D7. Prosim kde by mely byt ty inicializace?
Jaromir Cermak


-----Original Message-----
From: delphi-l-owner(zv)clexpert(tec)cz [mailto:delphi-l-owner(zv)clexpert(tec)cz]On
Pouzivam toto - snad se to bdue hodit. Ma to defacto 3 parametry - /install
/uninstall
/setup ( = nastavovvaci formular)

a bez parametru se to pusti jako bezna aplikace.
Hlavni formular musi mit metodu Initialize(fromservice:boolean) ktera si
zapne vse potrebne a tak. Hlavne v ni poznas, jestli jsi ci nejsi sluzba.

....

begin
if ParamStr(1)='/setup' then
begin
Forms.Application.Initialize;
Forms.Application.Title := 'Hotel-Keeper - Telefonni ust?edna';
Application.CreateForm(TPBXSetupForm, PBXSetupForm);
Forms.Application.Run;
end else
begin
if not Installing then
begin
CreateMutex(nil, True, 'HKPBXCONN');
if GetLastError = ERROR_ALREADY_EXISTS then
begin
MessageBox(0, 'Aplikace je jiz pusti`na.', SApplicationName,
MB_ICONERROR);
Halt;
end;
end;
if Installing or StartService then
begin
SvcMgr.Application.Initialize;
SocketService := TSocketService.CreateNew(SvcMgr.Application, 0);
SvcMgr.Application.CreateForm(TPBXConMain, PBXConMain);
SvcMgr.Application.Run;
end else
begin
//Forms.Application.ShowMainForm := False;
Forms.Application.Initialize;
Forms.Application.CreateForm(TPBXConMain, PBXConMain);
PBXConMain.Initialize(False);
Forms.Application.Run;
end;
end;
end.

....

Sinea - FORMATDT

[*] Kalhous <kalhous(zv)eu(tec)cz> - 23.8.2006 15:20:18

Pliz, lze v Sinea nejak vytisknout datum ktere je ve zdroji dat jako cislo? A jak? At dam do funkce FORMATDT cokoliv jakkoliv, porad to tiskne jen cislo.

Z.Kalhous

Indy 9 - odoslanie udajov pomocou POST

[*] Roland Turcan <konf(zv)rotursoft.sk> - 23.8.2006 15:20:18

<<< 23.8.2006 10:25 - Petr Fejfar "development(zv)callnet(tec)cz" >>>
PF> Roland Turcan wrote:

>> Ked som sa opytal, ze ako mam poslat dlhsie data, tak som obdrzal
>> odpoved, ze mam poslat data pomocou POSTu, ale nie ako parameter, ale
>> mam to poslat v BODY spravy.

PF> Asi po tobe chce, abys opustil content-type
PF> "application/x-www-form-urlencoded", ktery pouziva
PF> v podstate stejny zapis, jako kdyz uvedes parametry
PF> v query casti URL u metody GET, akorat je zapise
PF> jako jediny radek do tela zpravy a nahradil ho
PF> "multipart/form-data", kde kazda cast v tele odpovedi
PF> odpovida jednomu parametru.

PF> Podrobnosti viz specifikace HTML 4 na W3C.

Dakujem za nakopnutie, ale skusil som spravit malu zmenu a odpoved je
rovnaka.

WITH FHTTP.Request DO begin
Accept := 'text/html, image/png, image/jpeg, image/gif, image/x-xbitmap, */*';
AcceptLanguage := 'de';
Connection := 'Keep-Alive';
AcceptEncoding := 'gzip, deflate';
{$IF FixDevelop}
ContentType := 'multipart/form-data';
{$ELSE}
ContentType := 'application/x-www-form-urlencoded';
{$IFEND}
UserAgent := 'Mozilla/4.0';
CacheControl := 'no-cache';
END;

PS: Paralelne studujem W3C, ale mozno by si ma vedel usmernit skor ako
to docitam.

Dakujem.

--
Best regards, TRoland

http://exekutor.rotursoft.sk

Nova kniha o Delphi ECO III

[*] rkubat(zv)email(tec)cz - 23.8.2006 15:56:21



Dobry den vsem uzivatelum Delphi.

K dispozici je nova kniha "Model-Driven .NET development with Delphi
ECO III". Knizka poskytne informace o zpusobech vyuziti ECO na
tvorbu rychlych a skalovatelnych aplikaci a sluzeb na platforme .
NET. Mnoho prikladu "krok za krokem", hodne zdrojoveho kodu
aplikaci. Kniha je v anglictine a je k dispozici na webovych
obchodech ve svete i na webovem obchode Borland CZ/SK.

S pranim hezkeho dne, -- Richard Kubat


Windows service z normalni aplikace.

[*] Tomas Rosa <trosa(zv)seznam(tec)cz> - 23.8.2006 16:02:22

Tak to bohuzel nevim - nejaky problem s ActiveX (COM) - popravde s tim
nedelam, takze nevim. Jinak to co jsem ti vykuchal a poslal je funkcni,
mam v tom 3 servicy napsane.

tr

> Nejak to nepomaha a furt to pada
>
>
>
> - to zavola CoInitialize samo. Ale musi to byt nekde vpredu.
>

Instalace JEDY (3,2)

[*] Vaclav Halik <spravasd(zv)suz.cvut(tec)cz> - 23.8.2006 15:42:20

Zdravim,
> Mam, nasdilel a vse marne.....
> Nyni se pokousim prenest knihovny 1:1 a prenest registry
>
problem se objevuje vecinou tam, kde je instalovano uz starsi Delphi,
nebo jsou spatne prava na adresare. Jelikoz jsem nemnel cas to resit,
a ani po cca dvou hodinach jsem neprisel na to, kde je jeste co treba
povolit, instaloval jsem rucne.

Postup je asi tento (pro rucni instalaci) JCL:
1. Pridat do cest v Delphi cesty na JCL
(nemusi byt urcite vsechny, ja to nemnel cas skouset a hledat,
tak sem tam dal radsi vic :-))

- na Library
kde mam JCL\lib\d(podle verze delphi)
kde mam JCL\source
kde mam JCL\source\common
kde mam JCL\source\vcl

- na Browsing paths
kde mam JCL\lib\d(podle verze delphi)
kde mam JCL\source\common
kde mam JCL\source\windows
kde mam JCL\source\vcl
kde mam JCL\source\visclx

2. Otevrit projekt instalatoru JCL "kde mam JCL\install\JediInstaller.dpr"
a zkompilovat

3. Zavrit Delphi a spustit zkompilovany instalator z "kde mam JCL\bin"

4. Nainstalovat

5. Spustit Delphi a zkontrolovat zda nacte nove balicky

Postup (pro rucni instalaci) JVCL:
Obdobne jako pri instalaci JCL s tim ze je potreba pridat
adresare:

- na Library
kde mam JVCL\lib\d(podle verze delphi)
kde mam JVCL\common
kde mam JVCL\Resources
kde mam JVCL\run

- na Browsing paths
kde mam JVCL\dcu
kde mam JVCL\common
kde mam JVCL\run

- na Debug DCU paths (pokud potrebujete)
kde mam JVCL\dcu
kde mam JVCL\lib\d(podle verze delphi)


Postup je zkousen na Delphi 6 a BDS 2006.

S pozdravem Vaclav Halik

Sinea - FORMATDT

[*] Vaclav Krmela <krmela(zv)ustinadorlici(tec)cz> - 23.8.2006 16:48:25

From: "Kalhous" <kalhous(zv)eu(tec)cz>
> lze v Sinea nejak vytisknout datum ktere je ve zdroji dat jako cislo? A
> jak? At dam do funkce FORMATDT cokoliv jakkoliv, porad to tiskne jen
> cislo.

Funkce FORMATDT vyzaduje dva argumenty. Prvnim argumentem je cislo, ktere se
ma formatovat. Druhym argumentem je textovy retezec, podle ktereho se ma
formatovat. Pravidla pro sestaveni formatovaciho retezce jsou stejna, jako u
Delphi funkce FormatDateTime (interne se take pouzije). Jediny rozdil je v
poradi argumentu.

Vaclav Krmela

Windows service z normalni aplikace.

[*] Ludek <konference(zv)sales(tec)cz> - 23.8.2006 19:28:36


----- Original Message -----
From: "Jaromir Cermak" <cermak(zv)procom(tec)cz>

> Kdyz to pustim, rve mi to ze mam pouzit CoInitialize. Kdyz dam na zacatek
> kodu hlavniho programu CoInitialize a na konec dam (nebo pripadne i nedam)
> CoUninitialize skoncim na tomto prikazu (pri na

Uses ActiveX, Variants, ADOint

procedure TService.ServiceStart(Sender: TService; var Started: Boolean);
begin
CoInitialize(nil);
ADOConneciton1.Open;
......

end;

procedure TService.ServiceStop(Sender: TService; var Stopped: Boolean);
begin
.......
if ADOConneciton1.Connected then
ADOConneciton1.Close;
ServiceThread.Terminate;
Stopped := True;
CoUninitialize;
end;


Ludek


Jaky je rozdil mezi IBClientDataSet a IBDataSet

[*] Martin Burle <mburle2(zv)volny(tec)cz> - 23.8.2006 18:08:30

> zdravim vsechny, prosim muze mi nekdo strucne objasnit, jaky je rozdil v
> pouziti komponent IBClientDataSet a IBDataSet

Podivej se do hierarchie dedicnosti. IBCDS ma jediny SQL commandtext, ze
ktereho si interne vyrabi update, insert, refresh, atd SQL prikazy. Ma tu
neprijemnou chybu, ze v nem nefunguje refreshrecord, na to pozor. Bez opravy
teto chyby IMHO k nicemu.

IBDS ma zvlast SQL command pro update, refresh, delete atd, coz je trochu
pracnejsi na udrzbu. Jeste se podivej na TClientdataset+TProvider, to by
mohla byt take cesta.

MB

Grid a DataSet

[*] Petr Kejval <petr.kejval(zv)worldonline(tec)cz> - 24.8.2006 08:37:30

Ahoj,
protoze me trochu zarazil tvuj predpoklad "To vsak predpokladam v Delphi ani
v BCB s ADO komponentami nejde" napsal jsem si demo program s pouziti
komponent ADOExpress, ktery prikladam nize.
Ja pouzivam komponenty Adonis, kde je naprogramovana metoda ADOResync, ktera
umoznuje resynchronizaci jednoho zaznamu. U komponent ADOExpress jsem tuto
metodu nenasel. Tak jsem se ji pokusil dopsat. Samozrejme by bylo lepsi
odvodit novou komponentu a vytahnou vlastnosti UnigueCatalog, Unique Schem
atd. ven. To co jsem napsal je ukazka jak pouzit resynchronizaci jednoho
zaznamu bez psani komponent. Bude-li z tve strany zajem, mohu poslat funkcni
demo i s demo databazi.
Zde je demo:

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, ADODB, Grids, DBGrids, StdCtrls;

type
TAffectRecords = (arAll, arAllChapters, arCurrent, arGroup);
TResyncValues = (rvAllValues, rvUnderlyingValues);
TADOQueryR = class (ADODB.TADOQuery)
protected
public
procedure ADOResync(AffectRecords: TAffectRecords = arCurrent ;
ResyncValues: TResyncValues = rvAllValues);
end;
TForm1 = class(TForm)
DataSource1: TDataSource;
DBGrid1: TDBGrid;
ResyncAktualZaznam: TButton;
ResyncVsechnyZaznamy: TButton;
procedure FormCreate(Sender: TObject);
procedure ResyncAktualZaznamClick(Sender: TObject);
procedure ResyncVsechnyZaznamyClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
ADOQuery : ADODB.TADOQuery;
procedure ADOQueryAfterOpen(DataSet: TDataSet);
end;

var
Form1: TForm;

implementation
uses ADOInt;
{$R *.dfm}
procedure TADOQueryR.AdoResync(AffectRecords: TAffectRecords = arCurrent ;
ResyncValues: TResyncValues = rvAllValues);
const
ADOAffectRecords: array [TAffectRecords] of Integer = (adAffectAll,
adAffectAllChapters, adAffectCurrent, adAffectGroup);
ADOResyncValues: array [TResyncValues] of Integer = (adResyncAllValues,
adResyncUnderlyingValues);
begin
DoBeforeRefresh;
CheckBrowseMode;
UpdateCursorPos;
try
if Recordset.Supports(adResync) then
Recordset.Resync(ADOAffectRecords[AffectRecords],
ADOResyncValues[ResyncValues])
else
InternalRequery;
finally
Resync([]);
DoAfterRefresh;
end;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
ADOQuery:=ADODB.TADOQuery.Create(Self);
ADOQuery.AfterOpen:=ADOQueryAfterOpen;
DataSource1.DataSet:=ADOQuery;
ADOQuery.ConnectionString:='Provider=SQLOLEDB.1;Integrated
Security=SSPI;Persist Security Info=False;Initial Catalog=Demo;Data
Source=(local)';
ADOQuery.SQL.Text:=
'SELECT m.MasterId, m.Nazev AS MasterNazev, m.Detail1Id, d1.Nazev AS
Detail1Nazev, m.Detail2Id, d2.Nazev AS Detail2Nazev'+
' FROM dbo.Master m'+
' LEFT OUTER JOIN dbo.Detail2 d2 ON'+
' m.Detail2Id = d2.Detail2Id'+
' LEFT OUTER JOIN dbo.Detail1 d1 ON'+
' m.Detail1Id = d1.Detail1Id';
ADOQuery.Open;
end;

procedure TForm1.ADOQueryAfterOpen(DataSet: TDataSet);
begin
ADOQuery.Recordset.Properties.Item['Unique Catalog'] .Value:='Demo';
ADOQuery.Recordset.Properties.Item['Unique Schema'] .Value:='dbo';
ADOQuery.Recordset.Properties.Item['Unique Table'] .Value:='Master';
ADOQuery.Recordset.Properties.Item['Update
Criteria'].Value:=adCriteriaKey;
ADOQuery.Recordset.Properties.Item['Resync Command'] .Value:=
'SELECT m.MasterId, m.Nazev AS MasterNazev, m.Detail1Id, d1.Nazev AS
Detail1Nazev, m.Detail2Id, d2.Nazev AS Detail2Nazev'+
' FROM dbo.Master m'+
' LEFT OUTER JOIN dbo.Detail2 d2 ON'+
' m.Detail2Id = d2.Detail2Id'+
' LEFT OUTER JOIN dbo.Detail1 d1 ON'+
' m.Detail1Id = d1.Detail1Id'+
' WHERE m.MasterId = ?';//selectu v ADOQuery.SQL.Text p?idana podminka
najdi podle primarniho kliee
end;

procedure TForm1.ResyncAktualZaznamClick(Sender: TObject);
begin
//Resynchronizuje aktualni zaznam
TADOQueryR(ADOQuery).ADOResync;
end;
procedure TForm1.ResyncVsechnyZaznamyClick(Sender: TObject);
begin
//Resynchronizuje vsechny zaznamy zaznam po zaznamu
ADOQuery.Refresh; //nebo taky
TADOQueryR(ADOQuery).ADOResync(arAll,rvAllValues);
end;

end.

>Ok, nez se tim zacnu zabyvat, chci se jen ujistit, jestli je to vubec
>realne. To co zobrazuji v gridu je vysledek slozitejsiho selectu, kde se
>joinuje spousta tabulek a neco se obcas grupuje a jsou v tom subseleckty
>atd. Nedovedu si predstavit mechanismus, jak by sel refreshnout jen jeden
>zaznam. Jedine snad jak jsi uvedl ten resynchronizacni select pro
>resynchronizaci jednoho zaznamu. To vsak predpokladam v Delphi ani v BCB s
>ADO komponentami nejde.
>Porad mi prijde jako nejelegantnejsi reseni obelstit grid aby vypisoval
>novou hodnotu. Tj neco zmenim v DB, pak zmenim patricny udaj i na klientovi
>v pameti, kde ma Query nebo dataset ulozeny vysledek posledniho dotazu a
>pak
>prekreslim grid. Fungovalo by to podle me dost dobre. Dobre funguje i
>konstrukce DAtaSet->Edit(), ... Dataset->Post(), nebyt toho, ze se Post()
>snazi manipulovat s databazi by to bylo idealni, protoze grid na tohle
>zareaguje a prekresli se novou hodnotou a dokonce je v nem cerveny priznak
>zmeny.
>
>> Ahoj,
>> misto refreshovani vsech zaznamu datasetu metodami Close; Open; pouzij
>> refresh pouze jednoho zaznamu podle primarniho klice. Nacteni jednoho
>> zaznamu podle primarnoho klice je velmi rychle.
>> Zkus se podivat do helpu ADO na UpdateCriteria, UniqueCatalog
>> ,UniqueSchema, UniqueTable a predevsim na ResyncCommand.
>> Priklad pouziti jsem psal kdysi do konference pod predmetem "resync v
>> ADO".
>> Neco je i pod predmetem "ADO nezvlada view".
>> Pokud tyto prispevky nenajdes, napis. Ja ti je poslu.
>>
>> Resynchronizovani jednoho zaznamu tabulky na serveru s klientskym
>> datasetem pouzivam napr. kdyz zezadu zapisuji do zaznamu tabulky na
>> serveru a chci zmeny promitnout do zaznamu v klientskem datasetu. Nebo
>> kdyz napr. v triggeru zapisuji nebo menim nejake hodnoty zaznamu a ty
>> pak promitam do klientskeho datasetu. Refreshovat lze i zaznam s
>> joinovanymi tabulkami.
>>
>> Programovani nad ADO si nedovedu bez teto funkcnosti vubec predstavit.
>> Jinak bych asi musel pouzivat nejake memorytable nebo clientdataset
>> atd. jak ti uz tady radili.
>>
>> Jinak napr. v ADO.NET si take sestavujes svuj resynchronizacni select
>> pro resynchronizaci jednoho zaznamu.

posilani zprav mezi programy na terminal serveru

[*] Ladislav Fitz <ladislav.fitz(zv)kodytek(tec)cz> - 24.8.2006 09:23:33

> resil jsem komunikaci mezi aplikacemi, ktere mohou byt na 1 PC, na siti (v
> ruznem poctu)
> a nebo na terminal serveru ( pod uctem system, i pod klienty ).
> Zvolil jsem SYNAPSI a komunikaci UDP (posilam jen male mnozstvi dat )


no to sem skousel taky ale ono nejde poslouchat ve dvou programech na
stejnem portu takze bych stejne musel mit tabulku s ip+port

nakonec sem to vyresil tak ze mam tabulku kam se program zaregistruje
(vygenerovane guid) a kdyz potrebuju neco poslat tak to poslu vsem
zaregistrovanym do tabulky kam se jednou za sekundu program diva zda tam
neni pro nej nejaka zprava, na vyscisteni podle me staci pokud se nekdo
registruje a zjisti ze k databazi je prihlasen sam vymazat vsechny zaznamy
(z obou tabulek) a je to - kdyz nejakej program spadne aniz by se
odregistroval tak pristi prvotni registrace vse smaze

zmena zvukoveho zarizeni

[*] Petr Mathon <dveste zar(zv)quick(tec)cz> - 24.8.2006 20:00:19

Zdravim

Potrebuji zmenit vychozi zvukove zarizeni systemu, jde to? Pokud to jde pomoci mmsystem, da se nekde sehnat help k mmsystem?


Dik Petr


Prace s vetsim mnozstvim dat

[*] Miloslav Pojsl <mpojsl(zv)seznam(tec)cz> - 25.8.2006 08:31:10

Zdravim vsechny, prosim muze mi nekdo poradit, jak strategicky pracovat s vetsim mnozstvim dat, ktera jsou na serveru Firebird 1.5 a nacita je klientska aplikace psana v Delphi 6. Jde o to, ze zatim moje reseni funguje jen proto, ze dat (zaznamu) neni mnoho.

Mam tabulku, kterou celou nactu do IBQuery a pres DataSource zobrazim DBGrid. Pri zmene kurzoru v gridu se mi nacte do detailu formulare vse o danem zaznamu. Kdyz provedu zmeny v detailu, ulozim zmeny ( SQL: UPDATE) a provedu znovu nacteni: IBQuery.Close; (SELECT * FROM tab); IBQuery.Open;

Tohle reseni se mi ale nelibi, protoze

1) pracuje se s zivymi daty, coz jste zde oznacili za zverstvo (asi opravnene)
2) bude to pomale pro vetsi mnozstvi zaznamu cca. 5000 a vice

Podobny problem se tu uz resil a navrhovali jste komponentu IBClientDataSet (nebo IBDataSet), ovsem nevim jak ji efektivne pouzit.
Napr. nacist pri startu programu vse do DS, s tim na klientovi pracovat a pak vsechny zmeny ulozid do DB? Jenze jak pro SQL formulovat, co se zmenilo, co bylo smazano a co pridano. Nehlede k tomu, ze v DB se mi pocitaji ruzne ciselne hodnoty poli (poradova cisla zaznamu z jinych zavislych tabulek) a pokud by takto pracovalo vic uzivatelu zaroven, tak by byla integrita v haji.

Budu rad za jakekoli podnety!!!! Dekuji, zdravi Milos Pojsl

Instalace JEDY (3,2)

[*] Venca Zaruba <zaruba(zv)elastoform(tec)cz> - 25.8.2006 08:27:10

> Zdravim,
>> Mam, nasdilel a vse marne.....
>> Nyni se pokousim prenest knihovny 1:1 a prenest registry
>>
> problem se objevuje vecinou tam, kde je instalovano uz starsi Delphi,
> nebo jsou spatne prava na adresare. Jelikoz jsem nemnel cas to resit,
> a ani po cca dvou hodinach jsem neprisel na to, kde je jeste co treba
> povolit, instaloval jsem rucne.
> ...................................


PLS PLS PLS
Vyzkousel jsem snad vse a nic ....................
Prenos registru a ini skoncil tragedii. Rucne nahozovane knihovny se
nezobrazuji.
Instal hlasi neustale: Nelze vytvori JedyInstaller.drf (.str), ac jsem admin
(XP Home)
a vystridal jsem nejruznejsi adresare, zadaval cesty rucne atd.
Starsi verze jsou na tom stejne. Na predchzim kompu muzu delat psi kusy a
vzdy se
instalace bez problemu povede (prenos 1:1 nevysel...).
Google problem zna, ale popsane postupy jen kopiruji me neuspesne cesty.
PROSIM, nemate nekdo nejaky napad nebo dokonce reseni?

Prace s vetsim mnozstvim dat

[*] Zbysek Hlinka <konference(zv)hlinka(tec)cz> - 25.8.2006 09:01:13

> -----Original Message-----
> From: delphi-l-owner(zv)clexpert(tec)cz
> [mailto:delphi-l-owner(zv)clexpert(tec)cz] On Behalf Of Miloslav Pojsl
> Sent: Friday, August 25, 2006 8:31 AM

> Napr. nacist pri startu programu vse do DS, s tim na
> klientovi pracovat a pak vsechny zmeny ulozid do DB? Jenze
> jak pro SQL formulovat, co se zmenilo, co bylo smazano a co
> pridano. Nehlede k tomu, ze v DB se mi pocitaji ruzne ciselne
> hodnoty poli (poradova cisla zaznamu z jinych zavislych
> tabulek) a pokud by takto pracovalo vic uzivatelu zaroven,
> tak by byla integrita v haji.

Konkretni reseni dat neumim, protoze neznam prislusne komponenty, s Delphi
uz nepracuju a hlavne neznam problem. Zkusim tedy jen obecne s tim, ze
nektere rady nemusi byt pro reseni tveho problemu vhodne.

V prvni rade je dulezity spravny navrh databaze. Opakovane se setkavam s
tim, ze tabulky jsou navrhovany tak, aby vyhovovaly formularum. Nekde to je
mozne, nekde to vsak plodi tezko resitelne problemy.

Pokud je treba ukladat nejaky provazany balicek dat (zejmena do vice
tabulek), osvedcilo se mi velkym obloukem se vyhnout vsem udelatkum na
automaticke ukladani dat a udelat si to vsechno hezky rucne. V takovych
pripadech si zalozim transakci a data hrnu do db pres ulozene procedury, ve
kterych si zajistim hlidani integrity. Kdyz se neco nepovede, transakci
zrusim. Tohle samozrejme na aplikacni, nikoliv klientske vrstve. Pak se mi
tam klidne muze hlasit vic uzivatelu zaroven.

S pozdravem

Zbysek Hlinka
E-mail: hlinka zavin. hlinka(tec)cz

Prace s vetsim mnozstvim dat

[*] Martin Burle <mburle2(zv)volny(tec)cz> - 25.8.2006 09:09:13

> 1) pracuje se s zivymi daty, coz jste zde oznacili za zverstvo (asi
opravnene)
muze byt a nemusi

> 2) bude to pomale pro vetsi mnozstvi zaznamu cca. 5000 a vice
Nacitej data omezena nejakym filtrem, obvykle neni treba nacitat vsechno

> Napr. nacist pri startu programu vse do DS, s tim na klientovi pracovat a
pak vsechny zmeny ulozid do DB? Jenze jak pro SQL formulovat, co se zmenilo,
co bylo smazano a co pridano. Nehlede k tomu, ze v

Toto zaridi dataset sam, treba TIBdatasetm nebo TIBClientDataset. Zmeny
mohou byt zapisovany probezne, nebo az nejednou.

>DB se mi pocitaji ruzne ciselne hodnoty poli (poradova cisla zaznamu z
jinych zavislych tabulek) a >pokud by takto pracovalo vic uzivatelu zaroven,
tak by byla integrita v haji.
Musis bud logicky uzamknout zavisla data nejakym aplikacnim zamkem (ne
fyzicky, to je zverstvo), nebo hodnoty ziskavat napr. z generatoru.

MB

Instalace JEDY (3,2)

[*] Vaclav Halik <spravasd(zv)suz.cvut(tec)cz> - 25.8.2006 09:51:18

Venca Zaruba napsal(a):
> Instal hlasi neustale: Nelze vytvori JedyInstaller.drf (.str), ac jsem admin
> (XP Home)
>
>
Jen na doplneni:
Na instalacni .bat se vykasli, musis jit pres zkompilovany JediInstallator,
pokud ti to ani tak nepujde je problem v pravech nejspis toho
adresare kde mas JEDI.

Vaclav Halik


Instalace JEDY (3,2)

[*] Vaclav Halik <spravasd(zv)suz.cvut(tec)cz> - 25.8.2006 09:47:17


> a vystridal jsem nejruznejsi adresare, zadaval cesty rucne atd.
> Starsi verze jsou na tom stejne. Na predchzim kompu muzu delat psi kusy a
> vzdy se
Jenom tak ze zvedavosti, delal si to opravdu podle toho postupu
co sem tu tusim vcera psal ? Protoze podle toho co pises asi NE.
Tvuj problem s JedyInstaller.drf (.str), pokud to delas podle
toho postupu, neexistuje.


Vaclav Halik


Chyba EInvalidOp jen pri soucasnem behu s Cisco VP

[*] little_bobes(zv)centrum(tec)cz - 25.8.2006 10:39:21

Zdravim,

narazil jsem nedavno na chybu EInvalidOp, ktera je vyvolana zcela nahodne v
ruznych castech kodu, kde se pracuje s desetinymi cisly.
Chyba ale vznika pouze v pripadech, kdy jsem soucasne pripojen pomoci VPN
pripojeni programem Cisco VPN Client (verze 4.8.00.0440).

Ma otazka zni:
1. myslite si, ze muze nejaky jiny program zpusobovat chyby prace s
desetinnymi cisly v jinem programu?
2. muze byt toto zpusobeno nejakou zaplatou Windows? (chyba se vyskytuje jak
u Win2K tak XP)
3. setkal jste se nekdo s necim podobnym?

Predem dekuji za jakekoliv informace k tomuto problemu.

S pozdravem

Bob
(D4 c/s, FB 1.5)

Chyba EInvalidOp jen pri soucasnem behu s Cisco VP

[*] delphin(zv)post(tec)cz - 25.8.2006 11:05:24

> 1. myslite si, ze muze nejaky jiny program zpusobovat chyby prace s
> desetinnymi cisly v jinem programu?

Pokud to neni umyslem ciziho programu, tak je to ve >=W2K vylouceno.

> 2. muze byt toto zpusobeno nejakou zaplatou Windows? (chyba se vyskytuje
> jak
> u Win2K tak XP)

To je nepravdepodobne, vypocty s realnymi cisly pouziva mnoho aplikaci a to
by se davno projevilo.

> 3. setkal jste se nekdo s necim podobnym?

Soucasny beh aplikace s jinou obcas zpusobi objeveni drive neprojevenych
chyb. To se projevuje predevsim jsou-li v aplikaci vlakna.

zmena zvukoveho zarizeni

[*] Radek Cervinka <radek.cervinka(zv)technodat(tec)cz> - 25.8.2006 10:51:22

Petr Mathon napsal(a):
> Zdravim
>
> Potrebuji zmenit vychozi zvukove zarizeni systemu, jde to? Pokud to jde pomoci mmsystem, da se nekde sehnat help k mmsystem?
>
>
> Dik Petr
>
>

C:\Program Files\Common Files\Borland Shared\MSHelp\mmedia.hlp

nebo na
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/multimed/htm/_win32_windows_multimedia_start_page.asp

resp. zkus pohledat primo na msdn.microsoft.com, nebo pouzij google


R.

Windows service z normalni aplikace.

[*] Jaromir Cermak <cermak(zv)procom(tec)cz> - 25.8.2006 10:51:23

Chyba byla na me strane. Odkaz na nevytvoreny objekt. Mam ale jiny problem. Udelal jsem nasledujici vec: Do komponenty TService jsem pridal dva timery. Prvni vytvori puvodni formular a druhy jej uvolni pres FreeAndNil z pameti. Kod v obsluze udalosti jsem modifikoval takto:

procedure TSTDL_Start.ServiceExecute(Sender: TService);
begin
CoInitialize(nil);
tStart.Enabled:=True;
try
while not terminated do
ServiceThread.ProcessRequests(True);
finally
CoUninitialize;
tStop.Enabled:=True;
end;
end;

sluzbu se mi podari zaregistrovat ale pri staru ohlasi chybu:

V pocitaci Local Computer nelze spustit sluzbu Tisk DL.
Chyba 1053: Sluzba neodpovedela na ridici nebo zahajovaci pozadavek dostatecne vcas.

Podle me by pouziti timeru melo spusteni formulare s pristupem k DB zpozdit (mam to nastaveno na 60000) a nemelo by to brzdit start sluzby. Nevite nekdo kde je problem.
Jaromir Cermak


Chyba EInvalidOp jen pri soucasnem behu s Cisco VP

[*] little_bobes(zv)centrum(tec)cz - 25.8.2006 11:51:27

Zdravim,

laborovanim jsem vyloucil vsechny zaplaty Windows od SP2.
Zaroven jsem zjistil, ze problem bude nekde v konfiguraci samotneho Cisco
VPN Client, ktere ale nemohu ovlivnit (koncentrator na vzdalenem serveru s
vlastnim nastavenim).
Kdyz Client jenom bezi a neni pripojen VPN tunel, neni problem. Ten vyvstane
az po pripojeni.

Zalezitost jsem predal poskytovateli tohoto programu a spravci vzdaleneho
serveru a nyni budu cekat.

S pozdravem
Bob

> > 1. myslite si, ze muze nejaky jiny program zpusobovat chyby prace s
> > desetinnymi cisly v jinem programu?
>
> Pokud to neni umyslem ciziho programu, tak je to ve >=W2K vylouceno.
>
> > 2. muze byt toto zpusobeno nejakou zaplatou Windows? (chyba se vyskytuje
> > jak
> > u Win2K tak XP)
>
> To je nepravdepodobne, vypocty s realnymi cisly pouziva mnoho aplikaci a
to
> by se davno projevilo.
>
> > 3. setkal jste se nekdo s necim podobnym?
>
> Soucasny beh aplikace s jinou obcas zpusobi objeveni drive neprojevenych
> chyb. To se projevuje predevsim jsou-li v aplikaci vlakna.

Chyba EInvalidOp jen pri soucasnem behu s Cisco VP

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

From: <little_bobes(zv)centrum(tec)cz>
> narazil jsem nedavno na chybu EInvalidOp, ktera je vyvolana zcela nahodne
> > v ruznych castech kodu, kde se pracuje s desetinymi cisly.
> Chyba ale vznika pouze v pripadech, kdy jsem soucasne pripojen pomoci VPN
> pripojeni programem Cisco VPN Client (verze 4.8.00.0440).
>
> Ma otazka zni:
> 1. myslite si, ze muze nejaky jiny program zpusobovat chyby prace s
> desetinnymi cisly v jinem programu?

Patrne ten klient zpusobi zavedeni nejake DLL ktera nastavuje FPU control
word jinak nez ocekava RTL Delphi. Vice napriklad tady:
http://groups.google.com/group/borland.public.delphi.winapi/msg/1512cc7e0105e19b?hl=en

> 2. muze byt toto zpusobeno nejakou zaplatou Windows? (chyba se vyskytuje

Ne

> 3. setkal jste se nekdo s necim podobnym?

Typicky problem ktery se tahne s Delphi jiz nekolik let.

Petr Vones

Chyba EInvalidOp jen pri soucasnem behu s Cisco VP

[*] delphin(zv)post(tec)cz - 25.8.2006 12:23:30

> Kdyz Client jenom bezi a neni pripojen VPN tunel, neni problem. Ten
> vyvstane
> az po pripojeni.

Jinymi slovy problem nastane az se CPU poradne zatizi, v tomto pripade
sifrovanim.

> Zalezitost jsem predal poskytovateli tohoto programu a spravci vzdaleneho
> serveru a nyni budu cekat.

Cekanim se to urcite nespravi :-)
Urcite muzete mezitim vyzkouset spustit nejaky jiny program intenzivne
pocitajici s realnymi cisly, jeden z mnoha
http://users.bigpond.net.au/cpuburn/ a sledovat zda se chyba projevi i tam.

Chyba EInvalidOp jen pri soucasnem behu s Cisco VP

[*] delphin(zv)post(tec)cz - 25.8.2006 12:39:31

> Teoreticky je to mozne zmenou parametru koprocesoru.... To ma vliv na
> vypocet s float hodnotami,
> nastavuje se zpusob zaokrouhlovani, reakce na vyjimky apod....
> Zavolej si ve svem programu Get8087CW a porovnej to s hodnotou, kdyz je
> tam pusten jiny program...
> Urcita stopa to muze byt....

To je falesna stopa ... Aby mohl fungovat preemptivni multitasking musi OS
udrzovat pro kazde vlakno kontext, ktery zahrnuje kompletni obsah vsech
registru FPU samozrejme vcetne CW. Kazde vlakno tak ma svoje vlastni CW a je
zcela nemyslitelne, aby cizi aplikace vykonanim neceho jako Set8087CW
ovlivnila vypocty v moji aplikaci.

Chyba EInvalidOp jen pri soucasnem behu s Cisco VP

[*] OnDraG <gebakonf(zv)centrum(tec)cz> - 25.8.2006 12:25:30

Teoreticky je to mozne zmenou parametru koprocesoru.... To ma vliv na vypocet s float hodnotami,
nastavuje se zpusob zaokrouhlovani, reakce na vyjimky apod....
Zavolej si ve svem programu Get8087CW a porovnej to s hodnotou, kdyz je tam pusten jiny program...
Urcita stopa to muze byt....
OnDraG

little_bobes(zv)centrum(tec)cz napsal(a):
> Ma otazka zni:
> 1. myslite si, ze muze nejaky jiny program zpusobovat chyby prace s
> desetinnymi cisly v jinem programu?
> Bob
> (D4 c/s, FB 1.5)

Chyba EInvalidOp jen pri soucasnem behu s Cisco VP

[*] Petr Vones <konference(zv)petrvones(tec)net> - 25.8.2006 12:53:33

From: <delphin(zv)post(tec)cz>
> To je falesna stopa ... Aby mohl fungovat preemptivni multitasking musi OS

Prave ze vubec ne. Do procesu muze byt zavedena dalsi DLL (napriklad driver
tiskarny, driver k databazi ...) nebo muze byt v systemu instalovana DLL s
globalni hook funkci ktera je pak injectovana do procesu.

Petr Vones

zmena zvukoveho zarizeni

[*] Petr Mathon <dveste zar(zv)quick(tec)cz> - 25.8.2006 13:03:33

>C:\Program Files\Common Files\Borland Shared\MSHelp\mmedia.hlp
>
>nebo na
>http://msdn.microsoft.com/library/default.asp?url=/library/en-us/multimed/htm/_win32_windows_multimedia_start_page.asp
>
>resp. zkus pohledat primo na msdn.microsoft.com, nebo pouzij google
>

Super.
Tak jsem zjistil kolik mam zarizeni a vycetl co dokazi, ale nemuzu najit funkci na zvoleni nebo nastaveni vychoziho systemoveho zarizeni.
Dik Petr


Instalace JEDY (3,2)

[*] Venca Zaruba <zaruba(zv)elastoform(tec)cz> - 25.8.2006 14:11:38

: Re: Instalace JEDY (3,2)>
> Jenom tak ze zvedavosti, delal si to opravdu podle toho postupu
> co sem tu tusim vcera psal ? Protoze podle toho co pises asi NE.
> Tvuj problem s JedyInstaller.drf (.str), pokud to delas podle
> toho postupu, neexistuje.
>

Presne do puntiku..., ale zalozky s komponentama "nenaskocily"
Info o problemu s JedyInstaller.drf (.str) jen specifikuje dany problem
Prava? Vse tomu nasvedcuje, ale jsem prihlasen jako administrator, komp je
uplne novej
bez "hnoje" (antivir...), jen system XP home a D7 pro.
Po rucni kompilaci Vcl je vse OK, ale VJCL je s chybama

Instalace JEDY (3,2)

[*] horky(zv)cominn(tec)cz - 25.8.2006 14:27:40

> From: Venca Zaruba [mailto:zaruba(zv)elastoform(tec)cz]
> Sent: Friday, August 25, 2006 2:12 PM

> Presne do puntiku..., ale zalozky s komponentama "nenaskocily"

Podivej se do Component, Install packages, jestli tam mas prislusne balicky a jestli jsou zatrzene, podle toho zalozky "naskakuji".
Pripadne se podivej po disku, kam se ti balicky zkompilovaly.

--
S pozdravem Karel Horky, D7, FB 1.5.2, IBX 7.08, WXP SP2
[mailto:horky(zv)cominn(tec)cz]

Chyba EInvalidOp jen pri soucasnem behu s Cisco VP

[*] little_bobes(zv)centrum(tec)cz - 25.8.2006 14:25:40

> Teoreticky je to mozne zmenou parametru koprocesoru.... To ma vliv na
vypocet s float hodnotami,
> nastavuje se zpusob zaokrouhlovani, reakce na vyjimky apod....
> Zavolej si ve svem programu Get8087CW a porovnej to s hodnotou, kdyz je
tam pusten jiny program...
> Urcita stopa to muze byt....

Hodnoty jsou v obou pripadech stejne


Chyba EInvalidOp jen pri soucasnem behu s Cisco VP

[*] little_bobes(zv)centrum(tec)cz - 25.8.2006 14:23:39

> > Kdyz Client jenom bezi a neni pripojen VPN tunel, neni problem. Ten
> > vyvstane
> > az po pripojeni.
>
> Jinymi slovy problem nastane az se CPU poradne zatizi, v tomto pripade
> sifrovanim.

On prave procesor tim VPN vubec neni zatizeny.
A navic ta komunikace pres VPN tunel neprobiha, protoze v ramci hledani
chyby mi bezi serverova cast meho programu na tomto lokalnim pocitaci a
pripojuji se svym programem k 'localhost'.
Takto jsem prave dospel k tomu, ze chyba nastane az pri vytvoreni VPN tunelu
(IPSec/UDP).

> > Zalezitost jsem predal poskytovateli tohoto programu a spravci
vzdaleneho
> > serveru a nyni budu cekat.
>
> Cekanim se to urcite nespravi :-)

Tak to je jasne :o)
Ale zatim je to to jedine, co s timto mohu delat (krome toho, ze vyzkousim
par rad).

> Urcite muzete mezitim vyzkouset spustit nejaky jiny program intenzivne
> pocitajici s realnymi cisly, jeden z mnoha
> http://users.bigpond.net.au/cpuburn/ a sledovat zda se chyba projevi i
tam.
>

Neprojevila


Prace s vetsim mnozstvim dat

[*] Ludek <konference(zv)sales(tec)cz> - 26.8.2006 00:40:23


----- Original Message -----
From: "Miloslav Pojsl" <mpojsl(zv)seznam(tec)cz>

> Budu rad za jakekoli podnety!!!!

Ahoj,
Peclive navrhni datovy model a predevsim dej kazde tabulce nevyznamovy
primarni klic.
Vytvor si "treti" vrstvu aplikace pomoci ulozenych procedur a view na
serveru.
Data nacitej jen pro cteni komponentou, ktera umi refresh jednoho radku.
Veskere zapisy v transakci prostrednictvim ulozene procedury.

Ludek

Chyba EInvalidOp jen pri soucasnem behu s Cisco VP

[*] little_bobes(zv)centrum(tec)cz - 25.8.2006 15:55:47

> >> > Kdyz Client jenom bezi a neni pripojen VPN tunel, neni problem. Ten
> >> > vyvstane
> >> > az po pripojeni.
> >>
> >> Jinymi slovy problem nastane az se CPU poradne zatizi, v tomto pripade
> >> sifrovanim.
> >
> > On prave procesor tim VPN vubec neni zatizeny.
> > A navic ta komunikace pres VPN tunel neprobiha, protoze v ramci hledani
> > chyby mi bezi serverova cast meho programu na tomto lokalnim pocitaci a
> > pripojuji se svym programem k 'localhost'.
> > Takto jsem prave dospel k tomu, ze chyba nastane az pri vytvoreni VPN
> > tunelu
> > (IPSec/UDP).
> >
> >> Urcite muzete mezitim vyzkouset spustit nejaky jiny program intenzivne
> >> pocitajici s realnymi cisly, jeden z mnoha
> >> http://users.bigpond.net.au/cpuburn/ a sledovat zda se chyba projevi i
> > tam.
> >>
> >
> > Neprojevila
>
> Ted uz je kazda rada draha. V takovych pripadech se mi osvedcilo udelat si
> zalohu projektu a postupne umazavat (zakomentovavat) z projektu ruzne
funkce
> a tim alespon lokalizovat oblasti, kde se chyba projevuje.

No a to je prave ten problem, ze je to pokazde jinde a navic nepravidelne.
10x muze ta funkce probehnout se stejnymi parametry a po jedenacte vznikne
chyba.
Ale jiste je to, ze se provadi vypocty s typem Double, at uz se jedna o
pouhe scitani, odcitani ci napr. odmocniny.
To je asi tak jedina pravidelnost.

OT: Firebird 1.5 - alternativa LIMIT (smazat jeden

[*] bleak vm <bleak(zv)mvesely(tec)com> - 25.8.2006 15:51:46

zdravim vas,
mam v tabulce duplicitni zaznamy. V MySQL bych pouzil prikaz
DELETE FROM table WHERE id=5 LIMIT 1
a vymaze mi to jeden ze dvou zaznamu, ktere maji v poli ID hodnotu 5
Je nejaka alternativa uvedenoho dotazu pro Firebird 1.5?
Nebo jina moznost odstraneni jednoho ze dvou identickych zaznamu?

bleak


Chyba EInvalidOp jen pri soucasnem behu s Cisco VP

[*] delphin(zv)post(tec)cz - 25.8.2006 14:29:40

> Prave ze vubec ne. Do procesu muze byt zavedena dalsi DLL (napriklad
> driver
> tiskarny, driver k databazi ...) nebo muze byt v systemu instalovana DLL s

DLL tiskarny i databaze se zavadi nezavisle na spusteni jine aplikace, takze
by to nefungovalo i driv, ale je samozrejme jasne, ze kdyz spustim kod z
externi dll, tak se muze stat cokoliv.

> globalni hook funkci ktera je pak injectovana do procesu.

Na to jsem zapomel, ale tohle jde snadno zjistit v Delphi v Event view,
objevi se tam nazev injektovane dll.


A budeme-li dostatecne paranoidni, mohla CW spatne nastavit externi dll,
ktera obvykle funguje normalne, ale kdyz se spusti aplikace XYZ, tak zacne
blbnout :-)

Instalace JEDY (3,2)

[*] radek_456 radek_456 <radek 456(zv)seznam(tec)cz> - 25.8.2006 15:17:44


v jakem adresari je JCL a JVCL nainstalovano ? (neni cesta prilis dlouha, neobsahuje ceske znaky?)
neni v registrech HKEY_LOCAL_MACHINE\SOFTWARE\Borland odkaz na neexistujici instalaci Delphi ?

Priklad k IBClientDataSet ?

[*] Miloslav Pojsl <mpojsl(zv)seznam(tec)cz> - 25.8.2006 14:23:39

Zdravim, prosim mohl by mi nekdo z vas poslat par radek kodu, ktery resi jak na klientovi pomoci IBClient DataSet upravovat zaznamy (mazat, pridavat a upravovat) a nasledne zmeny ulozit do DB??

Diky, M. Pojsl

Chyba EInvalidOp jen pri soucasnem behu s Cisco VP

[*] delphin(zv)post(tec)cz - 25.8.2006 15:05:43

>> > Kdyz Client jenom bezi a neni pripojen VPN tunel, neni problem. Ten
>> > vyvstane
>> > az po pripojeni.
>>
>> Jinymi slovy problem nastane az se CPU poradne zatizi, v tomto pripade
>> sifrovanim.
>
> On prave procesor tim VPN vubec neni zatizeny.
> A navic ta komunikace pres VPN tunel neprobiha, protoze v ramci hledani
> chyby mi bezi serverova cast meho programu na tomto lokalnim pocitaci a
> pripojuji se svym programem k 'localhost'.
> Takto jsem prave dospel k tomu, ze chyba nastane az pri vytvoreni VPN
> tunelu
> (IPSec/UDP).
>
>> > Zalezitost jsem predal poskytovateli tohoto programu a spravci
> vzdaleneho
>> > serveru a nyni budu cekat.
>>
>> Cekanim se to urcite nespravi :-)
>
> Tak to je jasne :o)
> Ale zatim je to to jedine, co s timto mohu delat (krome toho, ze vyzkousim
> par rad).
>
>> Urcite muzete mezitim vyzkouset spustit nejaky jiny program intenzivne
>> pocitajici s realnymi cisly, jeden z mnoha
>> http://users.bigpond.net.au/cpuburn/ a sledovat zda se chyba projevi i
> tam.
>>
>
> Neprojevila

Ted uz je kazda rada draha. V takovych pripadech se mi osvedcilo udelat si
zalohu projektu a postupne umazavat (zakomentovavat) z projektu ruzne funkce
a tim alespon lokalizovat oblasti, kde se chyba projevuje.

Priklad k IBClientDataSet ?

[*] Martin Burle <mburle2(zv)volny(tec)cz> - 25.8.2006 15:01:42

> Zdravim, prosim mohl by mi nekdo z vas poslat par radek kodu, ktery resi
jak na klientovi pomoci IBClient DataSet upravovat zaznamy (mazat, pridavat
a upravovat) a nasledne zmeny ulozit do DB??

Tohle vsechno najdes v napovede, podivej se na
Insert, Append, Delete, Edit, Post, data ulozis takto nejak

with dataset do begin
if (ChangeCount>0) and (ApplyUpdates(0)=0) then DBTransaction.Commit;
end;

MB

TEmbeddedWb a charset

[*] Johanka Arkova <johanka.arkova(zv)pnws.org> - 28.8.2006 10:20:21

Ahoj,
mam problem s komponentou TEmbeddedWb, pokud ji nastavim text prez
EmbeddedWB1.LoadFromString(s); //kde s obsahuje deklarace stylu v
elementy style
prijde o kodovani a pokud mam text ve windows-1250 nektere znaky jsou
proste spatne

Nastaveni charsetu prez IHtmlDocument2(EmbeddedWB1.Document).Set_CharSet
('windows-1250');
bez reloadu nefunguje.

Zkousela jsem komponetu reloadnout prez
rl := 7;
EmbeddedWB1.Refresh2(rl);

jenze nactene url neni, protoze jsem naetla text ze stringu a reload
odstrani veskery obsah....

nevite nekdo, jak presvedcit komponetu, aby mela kodovani windows-1250
bez toho, aniz bych musela parsovat text a pridavat tam
kodovani rucne?


Johanka

Find error

[*] PCservis Skloform a.s. <pcservis(zv)skloform(tec)cz> - 28.8.2006 09:04:16

Kdyz se pred kompilaci programu nastavi v Project - Options na zalozce Linker v "Map file" volba Detailed, vytvori se v adresari s projektem soubor projekt_name.map, ve kterem se da najit adresa pameti a prislusny zdrojovy radek.

Jirka

> mam aplikaci, ktera mi bezi na ruznych systemech, na kterych neni zadny
> problem. Na jednom PC mi hned pri sartu hlasi chybu (W98, Pentium 133), tak
> jsem chtel podle adresy chyby ji najit, ale na mych delphi je v menu Search
> neaktivni volba Find Error. Co mam udelat pro to, aby byla aktivni? Nebo je
> jiny zpusob jak najit chybu podle adresy?
>
> D7 Professional,WinXP Pro, Firebird 1.5
>
> dekuji Tonda
>
>
>

Find error

[*] Ing. Antonin Spurny <spurny(zv)kavlounky(tec)cz> - 28.8.2006 07:54:09

Ahoj,
mam aplikaci, ktera mi bezi na ruznych systemech, na kterych neni zadny
problem. Na jednom PC mi hned pri sartu hlasi chybu (W98, Pentium 133), tak
jsem chtel podle adresy chyby ji najit, ale na mych delphi je v menu Search
neaktivni volba Find Error. Co mam udelat pro to, aby byla aktivni? Nebo je
jiny zpusob jak najit chybu podle adresy?

D7 Professional,WinXP Pro, Firebird 1.5

dekuji Tonda

Chyba EInvalidOp jen pri soucasnem behu s Cisco VP

[*] little_bobes(zv)centrum(tec)cz - 28.8.2006 10:44:23

> > >> > Kdyz Client jenom bezi a neni pripojen VPN tunel, neni problem. Ten
> > >> > vyvstane
> > >> > az po pripojeni.
> > >>
> > >> Jinymi slovy problem nastane az se CPU poradne zatizi, v tomto
pripade
> > >> sifrovanim.
> > >
> > > On prave procesor tim VPN vubec neni zatizeny.
> > > A navic ta komunikace pres VPN tunel neprobiha, protoze v ramci
hledani
> > > chyby mi bezi serverova cast meho programu na tomto lokalnim pocitaci
a
> > > pripojuji se svym programem k 'localhost'.
> > > Takto jsem prave dospel k tomu, ze chyba nastane az pri vytvoreni VPN
> > > tunelu
> > > (IPSec/UDP).
> > >
> > >> Urcite muzete mezitim vyzkouset spustit nejaky jiny program
intenzivne
> > >> pocitajici s realnymi cisly, jeden z mnoha
> > >> http://users.bigpond.net.au/cpuburn/ a sledovat zda se chyba projevi
i
> > > tam.
> > >>
> > >
> > > Neprojevila
> >
> > Ted uz je kazda rada draha. V takovych pripadech se mi osvedcilo udelat
si
> > zalohu projektu a postupne umazavat (zakomentovavat) z projektu ruzne
> funkce
> > a tim alespon lokalizovat oblasti, kde se chyba projevuje.
>
> No a to je prave ten problem, ze je to pokazde jinde a navic nepravidelne.
> 10x muze ta funkce probehnout se stejnymi parametry a po jedenacte vznikne
> chyba.
> Ale jiste je to, ze se provadi vypocty s typem Double, at uz se jedna o
> pouhe scitani, odcitani ci napr. odmocniny.
> To je asi tak jedina pravidelnost.

Takze jsem nasel na internetu v historii tohoto fora radu od Petra Vonese k
podobnemu problemu a zatim se to jevi tak, ze je toto eliminovano vypnutim
vyjimek FPU:
Set8087CW($133F); // vypnuti Exceptions

Zadna chyba zatim nenastala a vse funguje jak ma :o)

Diky Bob
(D4 c/s, FB1.5)

Komunikace s Portalem Verejne Spravy (GovTalk)

[*] Petr Langer <p.langer(zv)nexnet(tec)cz> - 28.8.2006 10:58:24

Ahojte,
pred casem jsem sem posilal nasledujici dotaz, bylo to v dobe dovolenych
a zadne kloudne odpovedi se mi nedostalo, tak to zkousim znova, neb to
zacina byt aktualni:

Mate nekdo vyslapnutou komunikaci s PVS z Delphi (v tomto pripade D5),
pripadne .NET?
Nejake zdrojaky, prilady, tipy, triky...
Google mi moc nepomohl, Jyxo mlci, nechce se mi vymyslet kolo, pokud to
nebude nezbytne nutne.

Dostalo se mi par nabidek na hotove reseni volatelne napr. pres OLE,
nicmene je pozadavek sefu, ze bud vlastni, nebo pokud koupene, pak se
zdrojakama, aby se predeslo tomu, ze se na to poskytovatel vybodne.

Zvazujem taky, jestli jit cestou Delphi (ve kterem je vytvorena aplikace
ktera to bude pouzivat), nebo to udelat solo jako .NET projekt.

Diky za cokoliv,
Petr Langer

Chyba EInvalidOp jen pri soucasnem behu s Cisco VP

[*] OnDraG <gebakonf(zv)centrum(tec)cz> - 28.8.2006 11:04:25

Vzdyt jsi rikal, ze funkce Get8087CW vraci v obou pripadech totez. Takto je to dost zvlastni....

>
> Takze jsem nasel na internetu v historii tohoto fora radu od Petra Vonese k
> podobnemu problemu a zatim se to jevi tak, ze je toto eliminovano vypnutim
> vyjimek FPU:
> Set8087CW($133F); // vypnuti Exceptions
>

Chyba EInvalidOp jen pri soucasnem behu s Cisco VP

[*] little_bobes(zv)centrum(tec)cz - 28.8.2006 12:54:32

> Vzdyt jsi rikal, ze funkce Get8087CW vraci v obou pripadech totez. Takto
je to dost zvlastni....
>
> >
> > Takze jsem nasel na internetu v historii tohoto fora radu od Petra
Vonese k
> > podobnemu problemu a zatim se to jevi tak, ze je toto eliminovano
vypnutim
> > vyjimek FPU:
> > Set8087CW($133F); // vypnuti Exceptions
> >

No vsak mi to taky nedalo spat.
Pravdepodobne jsem to nezjistoval dostatecne dost dlouho, protoze jsem si
vsiml, ze ackoliv neprobiha pres VPN komunikace, jednou za cas naroste par
odchozich bajtu.

Kdyz jsem to rano zkousel znovu, nechal jsem to testovat dele.
Jako vychozi hodnota Get8087CW byla $1272 a v okamziku, kdy nastala chyba,
tak az nasledna hodnota se zmenila na $1372.
Ale do te doby hodnota zustavala stejna.
Proto jsem timto smerem patral znovu a narazil na vypnuti Exceptions.

Bob
(D4 c/s, FB 1.5)

Komunikace s Portalem Verejne Spravy (GovTalk)

[*] Pavel Gazda <pavel gazda(zv)datasw(tec)cz> - 28.8.2006 13:10:33


> Ahojte,
> Mate nekdo vyslapnutou komunikaci s PVS z Delphi (v tomto pripade D5),

> Diky za cokoliv,
> Petr Langer

Ahoj,

pred casem jsem mel podobny problem a moc jsem zde nepochodil
a tak si dovedu predstavit, jak se citis. Zacinat z niceho a vedet, ze
jiz existuje vice reseni ...
Na druhou stranu si musis uvedomit, ze nekteri z toho ziji...
( Abych nebyl nespravedlivy, tak jeden clovek se nade mnou slitoval a radil
mi.
Byl to Milan Tomes ( jestli jsem se ted spletl, tak se moc omlouvam ) )


Ale k vlastnimu problemu:
( Dopredu rikam, ze jsem to nedodelal, protoze sef rozhodl...
tak jsem skoncil hned na zacatku )

Je potreba zvladnout
- dokument XML ( nakonec jsem pouzil IXMLDocument a zrusil ruzne
komponenty)
- sifrovani ( dle http://www.clexpert(tec)cz/podpora/belohrad2004/ )
- nedodelal jsem to a pritom :
byl jsem upozornen, na problemy s verzi sifrovaci knihovny
nedavno zde probehla informace o nutnosti upravy kodu pro lichou
delku
- internetovou komunikaci ( Synapse )


Zkus si v historii vyhledat RELDP ( tim to tusim zacalo )

Pavel
placeny amater

Komunikace s Portalem Verejne Spravy (GovTalk)

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

Pavel Gazda napsal(a):
>> Ahojte,
>> Mate nekdo vyslapnutou komunikaci s PVS z Delphi (v tomto pripade D5),
>>
> Na druhou stranu si musis uvedomit, ze nekteri z toho ziji...
> ( Abych nebyl nespravedlivy, tak jeden clovek se nade mnou slitoval a radil
> mi.
> Byl to Milan Tomes ( jestli jsem se ted spletl, tak se moc omlouvam ) )
>
jj tusim, ze jsem to byl opravdu ja.

Mam zpracovany objekt, ktery umi kompletne komunikovat s PVS a jeho
potomci pouze definuji funkcnosti pro konkretni sluzby (zatim jsem
zpracoval pouze RELDP).
> Je potreba zvladnout
> - dokument XML ( nakonec jsem pouzil IXMLDocument a zrusil ruzne
> komponenty)
>
IXMLDocument je celkem dobra cesta (sam pro XML pouzivam prave toto)
> - sifrovani ( dle http://www.clexpert(tec)cz/podpora/belohrad2004/ )
> - nedodelal jsem to a pritom :
> byl jsem upozornen, na problemy s verzi sifrovaci knihovny
> nedavno zde probehla informace o nutnosti upravy kodu pro lichou
>
Sifrovani neni problem pres CAPICOM (ovsem cekaji Te jine problemy jako
napr. nekompatibilita verzi) a s CryptoAPI Te ceka peklo s chybami v
hlavickach podle Borlandu a take s vlastni posloupnosti volani atd...
> delku
> - internetovou komunikaci ( Synapse )
>
Synapse rulezzzzz :)
Na veskerou TCP komunikaci v nasich aplikacich pouzivam pouze Synapsi a
nemam jediny problem (i TGovTalkMessage pouziva Synapsi :))


S pozdravem

Milan Tomes

Kontrolni soucet

[*] Petr Berek <sojokl(zv)seznam(tec)cz> - 28.8.2006 13:34:35

Zdravim,
hledam nejake vhodne zabezpeceni souboru pred zmenou. Tak me napadlo
overovat kontrolni soucet. Pokud se zmeni, tak jde pravdepodobne o zmeneny
soubor. Tak se chci zeptat, jakym zpusobem muzu zjistit kontrolni soucet.
Diky,
Petr


Komunikace s Portalem Verejne Spravy (GovTalk)

[*] Martin Fisar <martin fisar(zv)gordic(tec)cz> - 28.8.2006 13:30:35


>----- Original Message -----
>From: Milan Tomes
>To: delphi-l(zv)clexpert(tec)cz
>Sent: Monday, August 28, 2006 1:20 PM
>Subject: Re: Komunikace s Portalem Verejne Spravy (GovTalk)
>
>Sifrovani neni problem pres CAPICOM (ovsem cekaji Te jine problemy jako
>napr. nekompatibilita verzi) a s CryptoAPI Te ceka peklo s chybami v
h>lavickach podle Borlandu a take s vlastni posloupnosti volani atd...
> delku

Bohuzel se PVS ubira smerem k prihlasovani kvalifikovanym certifikatem
a v te chvili jsi v haji, protoze pres CAPICOM neudelas XMLSign. Asi po
tydnu laborovani jsem to rozchodil s pouzitim CryptoAPI (a bylo to celkem
maso :-()

>Synapse rulezzzzz :)
>Na veskerou TCP komunikaci v nasich aplikacich pouzivam pouze Synapsi a
>nemam jediny problem (i TGovTalkMessage pouziva Synapsi :))

Ja zas pouzivam Indy10 a taky nemam jediny problem :-)))

Martin Fisar

Kontrolni soucet

[*] Martin Pisarik <martin.pisarik(zv)seznam(tec)cz> - 28.8.2006 13:48:37

Ahoj, ja si pocitam MD5 hash souboru.
Jinak pokud chces zabezpecit aby ti ten soubor nekdo nezmenil, musis
predejit i tomu aby zmenil soubor i ten hash. To udelas tak, ze k tomu
souboru neco tajnyho pridas a pak udelas ten hash. Tim, ze nikdo jinej nevi
co se ma pridat nebude schopen vyrobit spravnej hash.

>
> Zdravim,
> hledam nejake vhodne zabezpeceni souboru pred zmenou. Tak me napadlo
> overovat kontrolni soucet. Pokud se zmeni, tak jde pravdepodobne o zmeneny
> soubor. Tak se chci zeptat, jakym zpusobem muzu zjistit kontrolni soucet.
> Diky,
> Petr
>
--
No virus found in this outgoing message.
Checked by AVG Free Edition.
Version: 7.1.405 / Virus Database: 268.11.6/428 - Release Date: 25.8.2006


Kontrolni soucet

[*] vlko <vlko(zv)zilina(tec)net> - 28.8.2006 14:18:39

Martin Pisarik wrote:
> Ahoj, ja si pocitam MD5 hash souboru.
> Jinak pokud chces zabezpecit aby ti ten soubor nekdo nezmenil, musis
> predejit i tomu aby zmenil soubor i ten hash. To udelas tak, ze k tomu
> souboru neco tajnyho pridas a pak udelas ten hash. Tim, ze nikdo jinej nevi
> co se ma pridat nebude schopen vyrobit spravnej hash.
>

no pouzil by som nieco lepsie ako MD5, pretoze urobit
koliziu na md5 je uz teraz otazkou par hodin.

vlko


--

--------------
mail: vlko(zv)zilina.net
web: http://vlko.zilina.net

Kontrolni soucet

[*] Petr Berek <sojokl(zv)seznam(tec)cz> - 28.8.2006 14:10:38

Existuje na to nejaky navod na netu? Moc tomu nerozumim.

On 8/28/06, Martin Pisarik <martin.pisarik(zv)seznam(tec)cz> wrote:
>
> Ahoj, ja si pocitam MD5 hash souboru.
> Jinak pokud chces zabezpecit aby ti ten soubor nekdo nezmenil, musis
> predejit i tomu aby zmenil soubor i ten hash. To udelas tak, ze k tomu
> souboru neco tajnyho pridas a pak udelas ten hash. Tim, ze nikdo jinej
> nevi
> co se ma pridat nebude schopen vyrobit spravnej hash.

Kontrolni soucet

[*] delphin(zv)post(tec)cz - 28.8.2006 14:40:41

> hledam nejake vhodne zabezpeceni souboru pred zmenou. Tak me napadlo

Pokud to ma byt jenom na zjisteni, zda do toho uzivatel nehrabal
(hexa)editorem, bohate staci CRC32.
Pokud to ma byt profesionalni zabezpeceni, kontrolni soucet ani hash
neobstoji kvuli reverznimu inzenyrstvi, potrebujete digitalni podpis, treba
tak jak dela Microsoft updatovaci balicky.

> overovat kontrolni soucet. Pokud se zmeni, tak jde pravdepodobne o zmeneny
> soubor. Tak se chci zeptat, jakym zpusobem muzu zjistit kontrolni soucet.

www.google.com
napsat CRC32 Delphi

Priklad k IBClientDataSet ?

[*] ivan <ivan(zv)boucek(tec)cz> - 28.8.2006 15:26:44

Neviem presne aku mas aplikaciu, ale som nahodou nasiel velmi pekny
komplexny priklad ktory pracuje s tou komponentou, mozno ti to pomoze:
http://www.rsdn.ru/article/db/midas.xml

-----Original Message-----
From: delphi-l-owner(zv)clexpert(tec)cz [mailto:delphi-l-owner(zv)clexpert(tec)cz]On
Behalf Of Miloslav Pojsl
Sent: Friday, August 25, 2006 2:24 PM
To: delphi-l(zv)clexpert(tec)cz
Subject: Priklad k IBClientDataSet ?


Zdravim, prosim mohl by mi nekdo z vas poslat par radek kodu, ktery resi jak
na klientovi pomoci IBClient DataSet upravovat zaznamy (mazat, pridavat a
upravovat) a nasledne zmeny ulozit do DB??

Diky, M. Pojsl


IHtmlDocument2

[*] Johanka Arkova <johanka.arkova(zv)pnws.org> - 28.8.2006 16:52:50

Ahoj,

Pro pristup do HTML v TEmbeddedWb (nebo TWebBrowser) se pouziva
interface IHtmlDocument2, ale ziska se primo z komponenty. Da se nejak
vytvorit tento interface a pouzivat bez komponenty? Precijen se lepe
pracuje s DOMeme, pokud ho vytvori Delphi samo, nez parsovat nedokonale
HTML....


Johanka

Zalohovani mySQL databaze z Delphi

[*] Petr Berek <sojokl(zv)seznam(tec)cz> - 28.8.2006 19:25:01

Zdravim,
zalohovani mySQL jsem resil pomoci programu mysqldump.exe. Nevim, jak to
funguje na linuxu, nebo serveru, ja jem to resil na lokalnim pc. Nekde jsem
cetl, ze by to melo byt prakticky stejne.
Petr


Zalohovani mySQL databaze z Delphi

[*] DH-Soft <spravce(zv)dh-soft(tec)cz> - 28.8.2006 19:17:00

Zdravim vsechny programatory a mam na Vas dotaz:



Mam WinXP SP2, Delphi2005, Zeos komponenty a na mem PC bezi mySQL 4.1 server





Pracuji s databazemi na mySQL serveru a resim problem (pro me) - Jak
odzalohovat databazi tim, ze uzivatel klikne na button.

Lepe receno jaky dotaz poslat na mySQL aby vysledkem byl xxx.sql soubor -
stejny jako kdyz delam zalohu z mySQL Administratora.



Uzivatel nema prava k ROOT uzivateli !!!





1. Existuje nejaky DOTAZ, ktery toto provede na kliknuti
butonu ???

2. Existuje nejaky DOTAZ, ktery naopak zvoleny soubor
xxx.sql importuje na server ???





Moc dekuji za jakoukoliv informaci a radu, pripadne malou ukazku.



Daniel



Find error

[*] Radim Kunz <rkunz(zv)casestudio(tec)com> - 28.8.2006 18:16:56


----- Original Message -----
From: "Ing. Antonin Spurny" <spurny(zv)kavlounky(tec)cz>
To: <delphi-l(zv)clexpert(tec)cz>
Sent: Monday, August 28, 2006 7:54 AM
Subject: Find error


> Ahoj,
> mam aplikaci, ktera mi bezi na ruznych systemech, na kterych neni zadny
> problem. Na jednom PC mi hned pri sartu hlasi chybu (W98, Pentium 133),
> tak
> jsem chtel podle adresy chyby ji najit, ale na mych delphi je v menu
> Search
> neaktivni volba Find Error. Co mam udelat pro to, aby byla aktivni? Nebo
> je
> jiny zpusob jak najit chybu podle adresy?
>
> D7 Professional,WinXP Pro, Firebird 1.5
>
> dekuji Tonda
>

Volba je aktivni, jen kdyz program jede. Tzn. ho nekde (kdekoliv)
musis breaknout.

Radim

Problem s pripojenim k DB Firebird 1.5 z klienta

[*] Miloslav Pojsl <mpojsl(zv)seznam(tec)cz> - 29.8.2006 08:22:58

Zdravim vsechny,

mam stale problem s pripojenim z klientskeho poc., kde bezi klientska aplikace napsana v Delphi 6, na server, na kterem bezi Firebird 1.5. Pokusim se popsat, co jsem presne udelal, nekde asi delam chybu...

- na klientovi jsem do adresare s klientskym programem nakopiroval knihovnu GDS32.DLL.
- na klientovi je system WinME
- v programu pouzivam komponenty IBDatabase + IBTransaction
- na serveru (Win XP) bezi Firebird 1.5, ve Firewallu je povolen port 3050, IP adresu serveru mam nastavenou jako pevnou
- v klientovi zadavam nazev DB jako: "IP:c:\fbdata\kalibrace.FDB"

Po pokusu o spojeni se vygeneruje vyjimka s touto hlaskou:

Unable to complete network erquest to host "vrastil". Failed to establish a connection unknown Win32 error 10061

Nevite prosim, co delam spatne? Zdravi M. Pojsl

SOAP a SSL

[*] lelicek(zv)volny(tec)cz - 29.8.2006 08:20:57

Ahoj,
potreboval bych pomoct,
mam napsany SOAP service (D2005) a nyni
potrebuji aby byl pristupny pouze
pres SSL (a nejlepe pouze pro
registrovane certifikaty).
Vubec ale nevim kde zacit,
service bezi na IIS 5.1.
Muzete mi prosim nejak postrcit.

Diky Pavel


--
KRALOVNA LETENEK nejnizsi ceny letenek.
http://im.impact.as/sign/kralovna/

Problem s pripojenim k DB Firebird 1.5 z klienta

[*] Marek Dostal <konf(zv)agnis(tec)cz> - 29.8.2006 08:33:01

> Unable to complete network erquest to host "vrastil". Failed to establish
> a connection unknown Win32 error 10061

Rekl bych, ze nebude v HOSTS souboru zaznam, ktery by priradil k "vratil"
skutecnou ip adresu. Zkus ping na ip adresu a potom ping na vrastil, pokud
na ip pujde a na jmeno ne, je to ono.

Marek Dostal
D7Prof, WinXP, FireBird 1.0, 1.5

Re, Re,Problem s pripojenim k DB Firebird 1.5 z kl

[*] Miloslav Pojsl <mpojsl(zv)seznam(tec)cz> - 29.8.2006 09:53:09

"vrastil" se jmenuje klientsky poc. Ackoli do jmena DB zadavam <IP serveru>:c:\fbdata\kalibrace.fdb tak to vypada, jako by se stale chtel pripojovat na ten samy stroj (tedy lokalne). Ping z obou stran funguje. Co tedy muze byt jeste spatne...??

windows uzivatele, uzivatelske skupiny

[*] karelliska28(zv)centrum(tec)cz - 29.8.2006 10:27:11

Zdravim,

Rad bych se zeptal jestli se da nejak programove vytvorit uzivatelska skupina we win XP nebo win 2000? Popripade I uzivatel ktery by patril do teto skupiny a zaroven do skupiny Users.
Chtel bych zjednodusit instalaci programu - nyni je to tak ze si uzivatel musi otevrit okno se skupinama, pridat ji rucne, pak pridat uzivatele - prost hruza a navic tam vetsinou nasekaji chyby.

Dekuji

Karel


Problem s pripojenim k DB Firebird 1.5 z klienta

[*] delphin(zv)post(tec)cz - 29.8.2006 10:49:13

> Unable to complete network erquest to host "vrastil". Failed to establish
> a connection unknown Win32 error 10061

10061 znamena, ze druha strana funguje, ale na tomto portu tam nikdo
neposloucha. Mozna to mohl sezrat firewall.

FastScript

[*] Jiri Novacek <delphi(zv)spst(tec)cz> - 29.8.2006 10:43:13

Ahoj
Experimentuji s knihovnami FastReport (FastScript)
Potrebuji v tomto pouzivat jine unity. Je mozne nejak pridat unitu JCL,
Registry atd.

Predem dekuji
Jirka

Re, Re,Problem s pripojenim k DB Firebird 1.5 z kl

[*] Marek Dostal <konf(zv)agnis(tec)cz> - 29.8.2006 11:09:15

> "vrastil" se jmenuje klientsky poc. Ackoli do jmena DB zadavam <IP
> serveru>:c:\fbdata\kalibrace.fdb tak to vypada, jako by se stale chtel
> pripojovat na ten samy stroj (tedy lokalne). Ping z obou stran funguje. Co
> tedy muze byt jeste spatne...??

Pripojuje se ke stroji, ktery je specifikovan ip adresou. Takze, je-li
zadana <IP serveru> musi se pripojovat k serveru. Zadrhel by mohl byt, pokud
by <IP serveru> byla zadana jmenem a v HOSTS souboru na klientskem pocitaci
by byla spatna ip adresa. Jinak to musi fungovat.
Jinak toto cislo chyby to hlasi, kdyz neni prislusny port povolen ve
firewallu, ale psal jsi ze povolen je. Firebird lze ale prekonfigurovat, ze
muze bezet na jinem portu, takze bych proveril, zda na serveru neni takto FB
prekonfigurovan a dale, zda to nemuze na serveru blokovat jeste nejaky dalsi
firewall.

Marek Dostal
D7Prof, WinXP, FireBird 1.0, 1.5

FastScript

[*] Martin Schayna <mschayna(zv)aktis(tec)cz> - 29.8.2006 11:23:16

Jiri Novacek wrote:
> Experimentuji s knihovnami FastReport (FastScript)
> Potrebuji v tomto pouzivat jine unity. Je mozne nejak pridat
> unitu JCL, Registry atd.

Jde to i kdyz s trochou usili. Tridy a jejich metody, ktere chcete
ve skriptu pouzit, musite zaregistrovat volanim AddClass,
AddConstructor, AddMethod, AddProperty apod. Dodavane unity
fs_i...RTTI.pas obsahuji tyto registrace pro vybrane tridy VCL,
muzete si podle tohoto vzoru vytvorit vlastni, treba TRegistry.
Bohuzel, pokud vim, zadny automaticky generator techto unit neexistuje.

BTW, zkouseli jsme nekolik scriptingu v Delphi:
- FastScript
- TMS Scripter Studio
- RemObjects Pascal Scripting (drive Innerfuse)
- JvInterpreter z JVCL
a nejlepsi se nam jevi prave FastScript. Pokud to nekoho zajima,
mohu dodat i benchmarky...

Martin Schayna

Problem s pripojenim k DB Firebird 1.5 z klienta

[*] horky(zv)cominn(tec)cz - 29.8.2006 11:23:16

> From: Miloslav Pojsl [mailto:mpojsl(zv)seznam(tec)cz]
> Sent: Tuesday, August 29, 2006 8:23 AM

> - na klientovi jsem do adresare s klientskym programem
> nakopiroval knihovnu GDS32.DLL.

Na klientovi bych nainstaloval Firebird instalatorem, a zvolil moznost pouze klientske knihovny.

> - na serveru (Win XP) bezi Firebird 1.5, ve Firewallu je
> povolen port 3050, IP adresu serveru mam nastavenou jako pevnou

Pro Firebird ve vychozim nastaveni po instalaci nestaci povolit jen port 3050, server posila jeste eventy na nejakem nahodilem portu. Ve firewalu je nutno povolit celou aplikaci fbserver.exe.

--
S pozdravem Karel Horky, D7, FB 1.5.2, IBX 7.08, WXP SP2
[mailto:horky(zv)cominn(tec)cz]

Re, Re,Problem s pripojenim k DB Firebird 1.5 z kl

[*] Miloslav Pojsl <mpojsl(zv)seznam(tec)cz> - 29.8.2006 12:25:21

> Pripojuje se ke stroji, ktery je specifikovan ip adresou. Takze, je-li
> zadana <IP serveru> musi se pripojovat k serveru. Zadrhel by mohl byt, pokud
> by <IP serveru> byla zadana jmenem a v HOSTS souboru na klientskem pocitaci
> by byla spatna ip adresa. Jinak to musi fungovat.
> Jinak toto cislo chyby to hlasi, kdyz neni prislusny port povolen ve
> firewallu, ale psal jsi ze povolen je. Firebird lze ale prekonfigurovat, ze
> muze bezet na jinem portu, takze bych proveril, zda na serveru neni takto FB
> prekonfigurovan a dale, zda to nemuze na serveru blokovat jeste nejaky dalsi
> firewall.
>

S tim Firewallem na tom mozna neco bude. U nas je to osetreno nejak sitove, takze ja jsem sice nastavil port 3050 do vyjimek, ale jinak FW nemuzu vypnout nebo nastavit. Zeptam se na to zpravce site.

Je tu ale jeste jedna zahada. Na notebooku, kde aplikaci pisu, kdyz nastavim nejakou nesmyslnou IP adresu serveru, tak mi to vubec nerve, ze se jako nemuze pripojit k serveru, ale v pohode se pripoji k lokalni DB specifikovane cestou za IP adresou...
Az mi to prijde, ze tu IP adresu ignoruje...

Re, Re,Problem s pripojenim k DB Firebird 1.5 z kl

[*] delphin(zv)post(tec)cz - 29.8.2006 12:47:23

> S tim Firewallem na tom mozna neco bude. U nas je to osetreno nejak
> sitove, takze ja jsem sice nastavil port 3050 do
> vyjimek, ale jinak FW nemuzu vypnout nebo nastavit. Zeptam se na to
> zpravce site.

Kdyz vsechno selze, nainstalujte Google->Ethereal. Tam se lze velmi snadno
presvedcit, jestli a na jakou IP+Port se to pokousi pripojit.

Jak krokovat start sluzby?

[*] Jaromir Cermak <cermak(zv)procom(tec)cz> - 29.8.2006 15:27:34

Ahoj vsichni

Mam nasledujici problem. Vytvarim Windowsowzkou sluzbu z normalni aplikace. Ta aplikace je celou dobu v liste a a kouka do databaze jestli nepribyla veta. Kdyz jo tak vytiskne doklad a pokracuje (tuto cinnost zajistuje timer na formu). Myslenka je pridat do aplikace TService. ktery vytvori ten form, pripadne datamodul a pri ukonceni ho zase zrusi. Pobezi li aplikace jako sluzba Tform bude v pameti a nebude videt obsluha timeru vsak pobezi.

Sluzba se normalne instaluje i odinstalovava ze systemu, ale nejde spustit, kvuli tomu ze je prekrocen cas spousteni. Nejdrive jsem pri spousteni sluzby vytvarel ten formular, ale ted jsem presunul vytvareni toho formu do timeru, ktery spoustim pri spusteni sluzby, timer odlozi vytvoreni formu o 60000 ms. navic jsem zahvezdickoval v obsluze timeru to vytvoreni formu, ale stale to pada na nedostatek casu.

Takhle to delam:


procedure ServiceController(CtrlCode: DWord); stdcall;
begin
STDL_Start.Controller(CtrlCode);
end;

function TSTDL_Start.GetServiceController: TServiceController;
begin
Result := ServiceController;
end;

procedure TSTDL_Start.ServiceExecute(Sender: TService);
begin
CoInitialize(nil);
tStart.Enabled:=True;
try
while not terminated do
ServiceThread.ProcessRequests(True);
finally
CoUninitialize;
tStop.Enabled:=True;
end;
end;

procedure TSTDL_Start.tStartTimer(Sender: TObject);
begin
tStart.Enabled:=False;
{ FTDL_Start:=TFTDL_Start.MyCreate(nil,tsSluzba);}
end;

procedure TSTDL_Start.tStopTimer(Sender: TObject);
begin
tStop.Enabled:=False;
{ FTDL_Start.TimerTiskDL.Enabled:=False;
FreeAndNil(FTDL_Start);}
end;


Nevite nekdo, kde mam chybu, nebo jak to odkrokovat? Pripadne je cela uvaha blbe?

Dekuju za kazdy tip

Jaromir Cermak

WIndows services for Unix / SSH

[*] koukal(zv)petrkoukal(tec)cz - 29.8.2006 17:23:43

Dobry den.

Resil nekdo programove pripojeni k Unix / Llinux serveru pomoci WIndows services for Unix?
Potrebuji prez sluzbu (Tservice) na pozadi se spojit s linux serverem / na Windows vytvorit virtualni disk - namapovany na linux a pomoci xcopy.exe tam nakopirovat data. Na konci zrusit disk a odhlasit se.

Da se pouzit i ftp ale jde o slozitou adresarovou strukturu ( desitky adresaru /stovky souboru ..)


Dik za kazdy tip.

Petr Koukal.

Re, Re,Problem s pripojenim k DB Firebird 1.5 z kl

[*] Karel Rys <delphi(zv)zas-me(tec)cz> - 29.8.2006 21:46:02

Quoting Miloslav Pojsl <mpojsl(zv)seznam(tec)cz>:

> Je tu ale jeste jedna zahada. Na notebooku, kde aplikaci pisu, kdyz
> nastavim nejakou nesmyslnou IP adresu serveru, tak mi to vubec
> nerve, ze se jako nemuze pripojit k serveru, ale v pohode se pripoji
> k lokalni DB specifikovane cestou za IP adresou...
> Az mi to prijde, ze tu IP adresu ignoruje...

Ahoj,

myslim si, ze sis ve vlastnostech komponenty tIbDatabase nenastavil,
ze se ma pouzit druh pripojeni TCP (protokol) - a take musi byt
nastaveno "Remote".

Karel Rys


Zkraceni retezce

[*] Lubos Lank <llank(zv)centrum(tec)cz> - 30.8.2006 04:06:31

Dobry den
Pri pouziti BDE v Delphi se mi pri kopirovani z tabulky do tabulky retezec
zkracuje. Databaze je Paradoxova tabulka (obe) a obe polozky maji stejnou
velikost (A10). Pri pouziti prikazu "TStav['Zakazka'] :=
TUmisteni['Zakazka'];" dochazi i pri krokovani programu k temto hodnotam:
TUmisteni['Zakazka'] '002 0002' a TStav['Zakazka'] '002 0'. TStav i
TUmisteni je definovano jako TTable.
Obdobne prikazy v jinych castech programu naprosto bez problemu chodi.

Dekuji za radu

Borland Developer studio 2006 problemy

[*] Vladimir Ponechal <vponecha(zv)email(tec)cz> - 29.8.2006 23:38:11

Ahoj,

mam problem s Developer studio 2006. Kdyz vytvarim objekty obcas se mi stane, ze tyto objekty nejsem schopen opetovne najit pres TwinControl.component[z]. A nechova se to divne pouze pri behu programu, ale i pri vytvareni objektu primo v delphi. Nejsem schopen presunout objekty mezi TPanels (nezmenim parent). Nahral jsem na to bds2006_en_ent_upd2.zip, ale nepomohlo to. Nenapada vas cim to je?

Diky,

Vl.

Aktualni font

[*] Tomas Rosa <trosa(zv)seznam(tec)cz> - 30.8.2006 08:18:49

Zdravim,

jak zjistim z aktualniho TFont jaky je to soubor na disku a zda-li je
unicode?

TR

Re, Re,Problem s pripojenim k DB Firebird 1.5 z kl

[*] Miloslav Pojsl <mpojsl(zv)seznam(tec)cz> - 30.8.2006 08:36:51


> myslim si, ze sis ve vlastnostech komponenty tIbDatabase nenastavil,
> ze se ma pouzit druh pripojeni TCP (protokol) - a take musi byt
> nastaveno "Remote".
>
Dekuji, to se asi dela v IBDatabase.Params, koukam po Internetu a shanim, jake ze parametry muze pripojeni k DB FB mit, ale nemam uspech. alespon pro vyse zminene nastaveni.. Prosim muze nekdo napovedet, kdo s FB pracuje? A nebo doporucit zdraj, kde bych to nasel, diky M. Pojsl

Program na sledovani pripojeni k poci?

[*] Miloslav Pojsl <mpojsl(zv)seznam(tec)cz> - 30.8.2006 08:40:51

Ahojte, muze mi nekdo z vas doporucit nejaky Free programek na sledovani pripojeni k pocitaci? Pro ladeni sitove DB aplikace. Aby byl jednoduchy (ne moc funkci, ve kterych se clovet ztrati:-))

M. Pojsl

Re, Re,Problem s pripojenim k DB Firebird 1.5 z kl

[*] Karel Rys <delphi(zv)zas-me(tec)cz> - 30.8.2006 08:48:54

Miloslav Pojsl dne 30 Aug 2006 v 8:36:

> > myslim si, ze sis ve vlastnostech komponenty tIbDatabase nenastavil,
> > ze se ma pouzit druh pripojeni TCP (protokol) - a take musi byt
> > nastaveno "Remote".
> >
> Dekuji, to se asi dela v IBDatabase.Params, koukam po Internetu a
> shanim, jake ze parametry muze pripojeni k DB FB mit, ale nemam
> uspech. alespon pro vyse zminene nastaveni.. Prosim muze nekdo
> napovedet, kdo s FB pracuje? A nebo doporucit zdraj, kde bych to
> nasel, diky M. Pojsl

Ahoj,

ja to nastavil tak, ze jsem na komponentu tIbDatabase dvakrat kliknul a pak jsem to vybral v tom
okenku, co vyskocilo - v params mam jen tohle:

user_name=SYSDBA
password=xxxxxxxx
lc_ctype=WIN1250

Jinak v property "DatabaseName" mam "172.17.8.15:/var/interbase/TiskTest.gdb" (je to na linuxu,
jinak by bylo treba "172.17.8.15:c:\fb\TiskTest.gdb").

Karel Rys

Kam muzu jako USER neco ulozit, aby se k tomu syst

[*] little_bobes(zv)centrum(tec)cz - 30.8.2006 09:26:58

Zdravim,

uzivatelska prava je ma nocni mura.
V programu jsem si stahnul soubor do adresare TEMP (adresar zjistuji pomoci
GetTempPath).
Nyni se k nemu potrebuji dostat pomoci sluzby spustene jako LocalSystem,
jenze ta pristupuje do uplne jinoho TEMP adresare.

Kam mam ten soubor ulozit tak, abych tam jako USER mohl zapisovat a
systemova sluzba ten soubor nasla a abych nemusel kvuli tomu vytvaret nejake
extra adresare?

Predem dekuji za rady.

S pozdravem Bob
(D4 c/s, FB1.5)

Jak najit pointer podle kdyz mam jmeni ve stringu

[*] Pavel Bares <bares(zv)atoll(tec)cz> - 30.8.2006 09:44:59

Ahoj

Tusite nekdo jestli se da za behu najit a zmenit promenna kdyz mam jeji
nazev ve string promenne ?

Pavel Bares

Jak najit pointer podle kdyz mam jmeni ve stringu

[*] Lebeda David <david.lebeda(zv)comarr(tec)cz> - 30.8.2006 10:07:01

> Tusite nekdo jestli se da za behu najit a zmenit promenna kdyz mam jeji
> nazev ve string promenne ?

Myslim, ze to neni mozne - pokud tedy nejde o published property nejake
tridy - tam na to mechanismus je.

David Lebeda

problemy s Delphi

[*] David Kopecek <david.kopecek(zv)hacktrack(tec)com> - 30.8.2006 11:21:07

Zdravim konferenci,

mel sem urcite pametove problemy s delphi aplikaci ke ktere mi
pristupuje vetsi mnozstvi zakazniku. Na radu Lukase Gebauera jsem to
skompilova na delphi 2006.. A vse zacalo fungovat jak ma jenze. Jsem
prisel na to ze delphi 2006 je otresnej smejd a furt to pada na nejede
tam hafo veci.. Poradil by mi nekdo jak mohu na soucasnych delphi 7
skompilovat svuj projekt tak aby mel vyreseny pametove problemy co
resi delphi 2006?

Diky David

Jak najit pointer podle kdyz mam jmeni ve stringu

[*] Pavel Poles <delphi(zv)noni(tec)cz> - 30.8.2006 11:31:08

A co si ten pointer pod tim jmenem ulozit do StringListu?

Pavel Poles
> Tusite nekdo jestli se da za behu najit a zmenit promenna kdyz mam jeji
> nazev ve string promenne ?
>

problemy s Delphi

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

From: "David Kopecek" <david.kopecek(zv)hacktrack.com>
> mel sem urcite pametove problemy s delphi aplikaci ke ktere mi
> pristupuje vetsi mnozstvi zakazniku. Na radu Lukase Gebauera jsem to

Co jsou to "pametove problemy" ? Neni to zkratka jen chyba synchronizace
nebo spatne uvolnovani pameti v tvem kodu, ktere se projevi pri vetsi zatezi
vicevlaknove aplikace ?

Delphi 2006 pokud vim pouziva FastMM memory manager, ktery je volne dostupny
i pro Delphi 7: http://sourceforge.net/projects/fastmm/

Puvodni memory manager od Borlandu neni sice uz z dnesniho pohledu nejlepsi
(predevsim co se tyce fragmentace) nicmene o nem nelze rici ze by mel vazne
chyby.

Petr Vones

problemy s Delphi

[*] Pavel Poles <delphi(zv)noni(tec)cz> - 30.8.2006 11:33:08

Stahni si a pouzivej FastMM, (http://fastmm.sourceforge.net), tusim ze
jsem nekde cetl
ze jej Delphi 2006 take pouzivaji...

Pavel Poles
> Poradil by mi nekdo jak mohu na soucasnych delphi 7
> skompilovat svuj projekt tak aby mel vyreseny pametove problemy co
> resi delphi 2006

problemy s Delphi

[*] Lukas Gebauer <gebylist(zv)mlp(tec)cz> - 30.8.2006 12:19:12

> > mel sem urcite pametove problemy s delphi aplikaci ke ktere mi
> > pristupuje vetsi mnozstvi zakazniku. Na radu Lukase Gebauera jsem to
>
> Co jsou to "pametove problemy" ? Neni to zkratka jen chyba
> synchronizace nebo spatne uvolnovani pameti v tvem kodu, ktere se
> projevi pri vetsi zatezi vicevlaknove aplikace ?

Pokud si ja dobre pamatuju, tak o zadny problem neslo. Dotycnemu se
jen nelibilo chovani pametovych alokaci ve standardnim Borlandim
manageru.
--
Lukas Gebauer.

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

Jak najit pointer podle kdyz mam jmeni ve stringu

[*] delphin(zv)post(tec)cz - 30.8.2006 12:39:13

> Tusite nekdo jestli se da za behu najit a zmenit promenna kdyz mam jeji
> nazev ve string promenne ?

Pokud tato informace neni v RTTI, tak neni zadna moznost a musite se na to v
programu pripravit.


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