Archív konference Delphi

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

Unable to locate Dll

[*] Dalibor <dalibor(zv)torola(tec)cz> - 6.9.2004 17:40:22

Ahoj, vyzkousej tu DLL knihovnu prejmenovat(teda radeji prekopirovat) na
soubor bez pripony.dll.
Pr:iklad: MojeKnohovna.dll prejmenovat na MojeKnihovna


----- Original Message -----
From: <tondrej(zv)t-online.de>
To: <delphi-l(zv)clexpert(tec)cz>
Sent: Monday, September 06, 2004 5:34 PM
Subject: Re: Unable to locate Dll


> > Nevim kde mam chybu. Poprve tvorim neco co je v samostatnem souboru
> > Import.dll. Pokud to spoustim z WinXP tak to jede jak ma. Ale pokud to
> > prekopcim na Win2000 Server tak mi exe pro startu hlasi %sub%. Presto,
ze
> > tam ten dll soubor je. Nepomuze ani zkopirovani dll do napr.
> > C:\WinNt\system32.
> >
> > Cca pred tydnem kdyz jsem po zkusil tak to slo a ted nic.
> >
> > Nevite nekdo co je spatne?
>
> Mozno ta DLL importuje ine DLL (a tie DLL zas mozu importovat dalsie
> DLL, atd.) a mozno niektora z nich na tom stroji nie je (alebo je
> niekde, kde ju system nenajde).
>
> HTH
> TOndrej
>
>
>

Unable to locate Dll

[*] tondrej(zv)t-online.de - 6.9.2004 17:34:21

> Nevim kde mam chybu. Poprve tvorim neco co je v samostatnem souboru
> Import.dll. Pokud to spoustim z WinXP tak to jede jak ma. Ale pokud to
> prekopcim na Win2000 Server tak mi exe pro startu hlasi %sub%. Presto, ze
> tam ten dll soubor je. Nepomuze ani zkopirovani dll do napr.
> C:\WinNt\system32.
>
> Cca pred tydnem kdyz jsem po zkusil tak to slo a ted nic.
>
> Nevite nekdo co je spatne?

Mozno ta DLL importuje ine DLL (a tie DLL zas mozu importovat dalsie
DLL, atd.) a mozno niektora z nich na tom stroji nie je (alebo je
niekde, kde ju system nenajde).

HTH
TOndrej


VCL vs. .NET (was: Nabidka zamestnani)

[*] Zbysek Hlinka <konference(zv)hlinka(tec)cz> - 6.9.2004 17:20:20

> -----Original Message-----
> From: delphi-l-owner(zv)clexpert(tec)cz
> [mailto:delphi-l-owner(zv)clexpert(tec)cz] On Behalf Of Jiri Virt
> Sent: Monday, September 06, 2004 4:38 PM
>
> > Realita je ovsem takova, ze je neni treba opravovat zdaleka
> tak casto
> > jako
> v pripade veci u Delphi.
>
> ani k obrazu svemu, tak lehce, jako VCL v Delphi? toho se
> bojim nejvic.Svazan tak, jako jsem v MSVC++ a MSVFoxpro.Ne
> sice uplne, ale proste uprava komponent v Delphi je preci
> jenom o necem jinem.

Nic ti nebrani ohnout si neco k obrazu svemu. Ale jedine pres potomky,
nikoliv zasahem do systemovych knihoven. .NET je navrzen tak, ze umoznuje
vyrazne lepe nez VCL osetrovat zmeny vcetne veci, ktere jsou vnorene.

Priklad: mam datagrid, ktery ma nejaky seznam sloupcu. I chybi mi tam
nektere uzivatelske sloupecky. Tak si je dodelam a presvedcim datagrid, aby
je znal. Zabudovani novych trid do datagridu je o dost pruznejsi nez v
Delphi. Proste jak pises, uprava komponent v .NET je o necem jinem nez ve
VCL, takze v .NET nejsem zdaleka tak svazan (jako ve VCL) s problemy, na
ktere navrhari nemysleli.

S pozdravem

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

opravy knihoven

[*] Petr Vones <konference(zv)petrvones(tec)net> - 6.9.2004 17:16:19

From: "Jiri Virt" <virt(zv)volny(tec)cz>
> > Realita je ovsem takova, ze je neni treba opravovat zdaleka tak casto jako
> v pripade veci u Delphi.
>
> ani k obrazu svemu, tak lehce, jako VCL v Delphi? toho se bojim

Tady je treba rozlisit dve ruzne veci:

1. opravy implementace toho co nefunguje jak bylo zamysleno puvodnim navrhem
2. upravy/rozrisreni existujicich trid

Idealni stav by byl takovy, ze bodem 1. se nemusim zabyvat vubec a bod 2.
resim odvozenim nove tridy.

Ve VCL bohuzel navrh obcas pokulhava a nekdy se to prave resi tim nejhorsim
zpusobem - zmenami primo ve zdrojacich, coz ma dva dusledky:

- nelze pouzit runtime balicky
- pri jakekoli zmene (prechod na novou verzi Delphi ci instalace update) musim
takove "cunarny" vzdy revidovat

To ze nelze neco takoveho delat v .NETu povazuji tedy za vyhodu, protoze to
neuci programatory takove navyky a vyrobce hlavne nuti nad vecmi ponekud vice
premyslet aby byly opravdu znovupouzitelne :-)

Petr Vones


Ziskani focusu

[*] Pavol Stugel, NETGraphics <palo(zv)netgraphics.sk> - 6.9.2004 16:50:17

> Kdyz zkusim
>
> if ShowWindow(Application.Handle, SW_SHOW)
> then Caption := 'OK'
> else Caption := SysErrorMessage(GetLastError);
> tak je to OK porad, na panelu neblika nic, ale nic se taky nefocusuje.
>
tak toto uz musi fachat:
function ForceForeground(const Handle1: THandle): Boolean;
const
SPI_GETFOREGROUNDLOCKTIMEOUT = $2000;
SPI_SETFOREGROUNDLOCKTIMEOUT = $2001;
var
ForegndThreadID: DWORD;
TheThreadID : DWORD;
timeout : DWORD;
OSVersionInfo: TOSVersionInfo;
hParent: THandle;
AniInfo: TAnimationInfo;
Animate: Boolean;
begin
if IsIconic(Handle1) then ShowWindow(Handle1, SW_RESTORE);
hParent := GetWindowLong(Handle1, GWL_HWNDPARENT);
if hParent > 0 then
if IsIconic(hParent) then ShowWindow(hParent, SW_RESTORE);

if (GetForegroundWindow = Handle1) then Result := true
else
begin
OSVersionInfo.dwOSVersionInfoSize := SizeOf(OSVersionInfo);
GetVersionEx(OSVersionInfo);

if ((OSVersionInfo.dwPlatformId = VER_PLATFORM_WIN32_NT) and (OSVersionInfo.dwMajorVersion > 4))
or
((OSVersionInfo.dwPlatformId = VER_PLATFORM_WIN32_WINDOWS) and ((OSVersionInfo.dwMajorVersion > 4)
or
((OSVersionInfo.dwMajorVersion = 4) and (OSVersionInfo.dwMinorVersion > 0))))
then
begin // OS is above win 95
Result := false;
ForegndThreadID := GetWindowThreadProcessID(GetForegroundWindow,nil);
TheThreadID := GetWindowThreadProcessId(Handle1,nil);
if AttachThreadInput(TheThreadID, ForegndThreadID, true) then
begin
SetForegroundWindow(Handle1);
AttachThreadInput(TheThreadID, ForegndThreadID, false);
Result := (GetForegroundWindow = Handle1);
end;
if not Result then
begin
SystemParametersInfo(SPI_GETFOREGROUNDLOCKTIMEOUT, 0, (zv)timeout, 0);
SystemParametersInfo(SPI_SETFOREGROUNDLOCKTIMEOUT, 0, nil, SPIF_SENDCHANGE);
SetForegroundWindow(Handle1);
SystemParametersInfo(SPI_SETFOREGROUNDLOCKTIMEOUT, 0, (zv)timeout, SPIF_SENDCHANGE);
end;

end else // OS is above win 95
SetForegroundWindow(Handle1);

Result := (GetForegroundWindow = Handle1);
if Result then Exit;

AniInfo.cbSize := SizeOf(TAnimationInfo);
if SystemParametersInfo(SPI_GETANIMATION, SizeOf(AniInfo), (zv)AniInfo, 0) then
Animate := AniInfo.iMinAnimate <> 0 else
Animate := False;
if Animate then
begin
AniInfo.iMinAnimate := 0;
SystemParametersInfo(SPI_SETANIMATION, SizeOf(AniInfo), (zv)AniInfo, 0);
end;
SendMessage(Handle1,WM_SYSCOMMAND,SC_MINIMIZE,0);
Sleep(40);
if hParent > 0 then
SendMessage(hParent,WM_SYSCOMMAND,SC_RESTORE,0)
else
SendMessage(Handle1,WM_SYSCOMMAND,SC_RESTORE,0);
if Animate then
begin
AniInfo.iMinAnimate := 1;
SystemParametersInfo(SPI_SETANIMATION, SizeOf(AniInfo), (zv)AniInfo, 0);
end;

Result := (GetForegroundWindow = Handle1);
end;
end;


palo

ADMIN: Nabidka zamestnani

[*] Petr Zahradnik <clexpert(zv)clexpert(tec)cz> - 6.9.2004 16:44:16

Puvodni zprava ze dne 6.9.2004:>> Realita je ovsem takova, ze je neni treba opravovat zdaleka tak casto jako
> v pripade veci u Delphi.

> ani k obrazu svemu, tak lehce, jako VCL v Delphi? toho se bojim
> nejvic.Svazan tak, jako jsem v MSVC++ a MSVFoxpro.Ne sice uplne, ale proste
> uprava komponent v Delphi je preci jenom o necem jinem.

Zmente si laskave subjekt, jestli si chcete diskutovat o tomhle...

Petr Zahradnik, pocitacovy expert

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


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

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

Zavreni dockovaneho framu

[*] Martin Pisarik <martin.pisarik(zv)seznam(tec)cz> - 6.9.2004 16:40:16

Ahoj *

Prosim o radu. Jak poznat, ze uzivatel zavrel (tim malym krizkem)
nadockovanou a nebo floating vec (v mem pripade frame). Zadnou udalost jsem
nenasel a na netu pouze spoustu komponent, ktere to resi. Ja chci ale
vystacit bez nich.
Co s tim?
Dik moc.

Nabidka zamestnani

[*] Jiri Virt <virt(zv)volny(tec)cz> - 6.9.2004 16:38:15


> Realita je ovsem takova, ze je neni treba opravovat zdaleka tak casto jako
v pripade veci u Delphi.

ani k obrazu svemu, tak lehce, jako VCL v Delphi? toho se bojim
nejvic.Svazan tak, jako jsem v MSVC++ a MSVFoxpro.Ne sice uplne, ale proste
uprava komponent v Delphi je preci jenom o necem jinem.


Jirka Virt


Ziskani focusu

[*] Ing. Igor Kapoun <igor.kapoun(zv)volny(tec)cz> - 6.9.2004 16:36:15

> > if SetForegroundWindow (Application.Handle)
> > then Caption := 'OK'
> > else Caption := SysErrorMessage(GetLastError); Pokud melo okno
> Me to hlasi "Operace byla dokoncena uspesne". Ale okno jen blika na
panelu.
> Bezi to na WinXP. Ale pouze pokud se prepnu do Delphi.
>
> OK mi to hlasi, kdyz jsem v jine app a dokonce se i prenese do popredi. :)
>
> Kde to volas? Nekde bude asi problem, nebo zkus nastavit jako HWND
> Form1.Handle (uprav podle sebe).

W98, D6,
V aplikaci mam jediny timer, ktery tika po 10 sec. a provadi vyse uvedeny
kok. Kdyz to sam zafocusuji, tak je to OK, jinak "Parametr neni spravny", a
blika na panelu...

Kdyz zkusim

if ShowWindow(Application.Handle, SW_SHOW)
then Caption := 'OK'
else Caption := SysErrorMessage(GetLastError);
tak je to OK porad, na panelu neblika nic, ale nic se taky nefocusuje.

Igor


JclDebug - CallStack

[*] Petr Brant <brant(zv)dcomm(tec)cz> - 6.9.2004 16:34:15

Duvod je ten, ze v nekterych unitech PRED ExceptDlg muze pri jejich
natahovani (initialization) dojit k chybe a ta pak nebude korektne
obslouzena.

RNDr. Petr Brant [brant(zv)dcomm(tec)cz]
http://brant.wz(tec)cz


> Takze ukazka DPR:
>
> program Project1;
>
> uses
> exceptdlg, <----------- musi byt na prvnim miste
> Forms,
> Unit1 in 'Unit1.pas' {Form1};
>

Ja ho na prvnim miste nemam a funguje take skvele.

Ziskani focusu

[*] Petr Vones <konference(zv)petrvones(tec)net> - 6.9.2004 16:28:14

From: "Jiri Cincura" <diskuze(zv)cincura.net>
> Me to hlasi "Operace byla dokoncena uspesne". Ale okno jen blika na panelu.
> Bezi to na WinXP. Ale pouze pokud se prepnu do Delphi.

viz TJclAppInstances.BringAppWindowToFront v JCL

Petr Vones

Nabidka zamestnani

[*] Petr Vones <konference(zv)petrvones(tec)net> - 6.9.2004 16:26:14

From: "Zbysek Hlinka" <konference(zv)hlinka(tec)cz>
> kterym zdrojaky nejsou, i kdyby byly pozlacene. :-) Pri prechodu do .NET
> sice narazite na to, ze proste zdrojaky ke standardnim knihovnam nejsou, ale
> lze je vydolovat specialnimi programy. Ale protoze je stejne nelze
> opravovat, da se s tim nejak zit (i kdyz je pak problematictejsi
> debuggovani).

Realita je ovsem takova, ze je neni treba opravovat zdaleka tak casto jako v
pripade veci u Delphi.

Petr Vones


JclDebug - CallStack

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

Petr Brant wrote:
> Takze ukazka DPR:
>
> program Project1;
>
> uses
> exceptdlg, <----------- musi byt na prvnim miste
> Forms,
> Unit1 in 'Unit1.pas' {Form1};
>

Ja ho na prvnim miste nemam a funguje take skvele.

--
Jiri Cincura
e-mail: mailto:jiri(zv)cincura.net; mailto:xcincura(zv)informatics.muni(tec)cz
ICQ#: 314711544
web: http://www.cincura.net; http://photo.cincura.net

Ziskani focusu

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

Ing. Igor Kapoun wrote:
> Diky vsem za podnety. Jedna se o focus aplikace, nikoli VCL komponenty.
>
>> SetForegroundWindow by nepomohlo?
>
> Zkousel jsem toto:
>
> if SetForegroundWindow (Application.Handle)
> then Caption := 'OK'
> else Caption := SysErrorMessage(GetLastError); Pokud melo okno
> aplikace focus, bylo to OK, jak jsem aktivoval jinou aplikaci, chybova
> hlaska byla "Parametr neni spravny"

Me to hlasi "Operace byla dokoncena uspesne". Ale okno jen blika na panelu.
Bezi to na WinXP. Ale pouze pokud se prepnu do Delphi.

OK mi to hlasi, kdyz jsem v jine app a dokonce se i prenese do popredi. :)

Kde to volas? Nekde bude asi problem, nebo zkus nastavit jako HWND
Form1.Handle (uprav podle sebe).

--
Jiri Cincura
e-mail: mailto:jiri(zv)cincura.net; mailto:xcincura(zv)informatics.muni(tec)cz
ICQ#: 314711544
web: http://www.cincura.net; http://photo.cincura.net

Ziskani focusu

[*] Pavol Stugel, NETGraphics <palo(zv)netgraphics.sk> - 6.9.2004 16:04:12

ShowWindow(Application.Handle, SW_SHOW);

palo


> Diky vsem za podnety. Jedna se o focus aplikace, nikoli VCL komponenty.

Nabidka zamestnani

[*] Pavol Stugel, NETGraphics <palo(zv)netgraphics.sk> - 6.9.2004 16:16:12


> Ano, coz je nejlepsi, protoze tim padem to vsichni prestanou pouzivat
> a je klid, protoze to nefunguje.

... nie tak celkom podla mojich skusenosti (kniznica Graph64) pouzivatelnost
zavisi hlavne od castej aktualizacii, rychlosti odpovedi na dotazy,
resp. pridavania novych funkcii ...

ci je nieco free alebo komercne rozhoduje skor pri programatoroch, ktory nieco robia
ale nevedia co ... ty co robia soft. na zakazku tym je to uplne jedno lebo si
to pripocitaju do vyslednej ceny ...
.. ale to je uz fakt uplne mimo a tusim sa to tu uz parkrat preberalo.

Palo

Nabidka zamestnani

[*] Zbysek Hlinka <konference(zv)hlinka(tec)cz> - 6.9.2004 16:02:11

> -----Original Message-----
> From: delphi-l-owner(zv)clexpert(tec)cz
> [mailto:delphi-l-owner(zv)clexpert(tec)cz] On Behalf Of Pavol
> Stugel, NETGraphics
> Sent: Monday, September 06, 2004 3:44 PM
>
> > Takze bacha na free komponenty, jejich vlastnik to muze
> kdykoliv smest se
> > stolu. Jako napriklad TurboPower. ;-)
>
> .. asi zly priklad, lebo TurboPower bol komercny produkt a
> teraz je vsetko open source co je asi aj lepsie ...
> http://www.bsdg.org/resources/turbopower.html

Jeee, jsem to ale popleta! Takze bacha nejen na free komponenty, ale na
jakekoliv, protoze autor se na to muze kdykoliv vykaslat. :-)))))))))

BTW - dodavani zdrojaku ke komponentam je v Delphi dobrym a velmi uzitecnym
zvykem. Takze jsem si na to zvykl tak, ze odmitam i v .NET komponenty, ke
kterym zdrojaky nejsou, i kdyby byly pozlacene. :-) Pri prechodu do .NET
sice narazite na to, ze proste zdrojaky ke standardnim knihovnam nejsou, ale
lze je vydolovat specialnimi programy. Ale protoze je stejne nelze
opravovat, da se s tim nejak zit (i kdyz je pak problematictejsi
debuggovani).

S pozdravem

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

Nabidka zamestnani

[*] Petr Zahradnik <clexpert(zv)clexpert(tec)cz> - 6.9.2004 15:56:10

Puvodni zprava ze dne 6.9.2004:

> .. asi zly priklad, lebo TurboPower bol komercny produkt a teraz je
> vsetko open source co je asi aj lepsie ...
> http://www.bsdg.org/resources/turbopower.html

Ano, coz je nejlepsi, protoze tim padem to vsichni prestanou pouzivat
a je klid, protoze to nefunguje.

Petr Zahradnik, pocitacovy expert

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


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

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

JclDebug - CallStack

[*] Petr Brant <brant(zv)dcomm(tec)cz> - 6.9.2004 15:50:10

Takze ukazka DPR:

program Project1;

uses
exceptdlg, <----------- musi byt na prvnim miste
Forms,
Unit1 in 'Unit1.pas' {Form1};

{$R *.RES}

begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.

V Unit1 zpusobim chybu:

procedure TForm1.Button1Click(Sender: TObject);
var s: string;
begin
s[1]:= 'a';
end;

Upravim parametry linkeru (Project/Options/Linker a u Map file zaskrtni
Detailed).

Spustim program, zmacknu cudlik a vybehne mi toto (zkraceno) :

Exception class: EAccessViolation
Exception address: 00453C73
----------------------------------------------------------------------------
------------------------
Stack list, generated 6.9.2004 15:42:01
[00453C73] Unit1.TForm1.Button1Click (Line 29, "Unit1.pas" + 1) + $8
[004031C5] System.(zv)HandleAnyException + $35
[00453C73] Unit1.TForm1.Button1Click (Line 29, "Unit1.pas" + 1) + $8
[00420660] StdCtrls.TButton.CNCommand + $0
[00453C73] Unit1.TForm1.Button1Click (Line 29, "Unit1.pas" + 1) + $8
[00453C8C] Unit1.TForm1.Button1Click (Line 29, "Unit1.pas" + 1) + $21
[0043B260] Controls.TControl.Click + $68
....
....
[7CDF0000] C:\WINDOWS\system32\OLE32.DLL
5.1.2600.1362 - 5.1.2600.1362 (xpsp2.040109-1800)
Microsoft OLE for Windows
[7E190000] C:\WINDOWS\system32\GDI32.dll
5.1.2600.1346 - 5.1.2600.1346 (xpsp2.040109-1800)
GDI Client DLL
----------------------------------------------------------------------------
------------------------
Active Controls hiearchy:
TButton "Button1"
TForm1 "Form1"
----------------------------------------------------------------------------
------------------------

Kdybys neco nevedel, napis na ICQ, cislo 68652380.

RNDr. Petr Brant [brant(zv)dcomm(tec)cz]
http://brant.wz(tec)cz


To som pozeral, ale nikde som neprisiel na to, ako tam zobrazim nazov Unitu,
Procedury, riadku A co presne treba nastavit do Linkeru?> Lze a velmi jednoduse: Podivej se na ExceptDlg v prikladech k JCL, tam
uz je
> to hotove (ten unit musis dat do DPR na uplne prvni misto do Uses),
musis
> zmenit parametry linkeru, aby vytvoril MAP soubor a hotovo. Ten
ExceptDlg si
> uprav tak, aby se vse ukladalo do souboru, to uz je jednoduche.
>
> Zdravim
>
> RNDr. Petr Brant [brant(zv)dcomm(tec)cz]
> http://brant.wz(tec)cz
>
>
> Mam aplikaciu, kt. mi obcas hodi chybu a ja sa neviem dopatrat preco
> ju
hodi
> a kde Debatovalo sa tu o JclDebug, takze by som rad vyuzil to Urobil
> som
si
> skusobnu aplikaciu kde v fcii Delenie naschval delim nulou Tuto fciu
volam
> na click tlacitka A teraz by som potreboval urobit nieco take, aby mi
> to
do
> suboru ulozilo, kde nastala chyba (Unit, Riadok, pripadne CallStack) a
preco
> chyba nastala (chybova hlaska) Je mozne toto cez Jcldebug dosiahnut a
> ak ano, tak co kde treba nastavit Dakujem

Nabidka zamestnani

[*] Pavol Stugel, NETGraphics <palo(zv)netgraphics.sk> - 6.9.2004 15:44:09


> Takze bacha na free komponenty, jejich vlastnik to muze kdykoliv smest se
> stolu. Jako napriklad TurboPower. ;-)

.. asi zly priklad, lebo TurboPower bol komercny produkt a teraz je vsetko open source
co je asi aj lepsie ...
http://www.bsdg.org/resources/turbopower.html



palo

DBGrid a vykresleni castecne viditelneho radku

[*] Lebeda David <david.lebeda(zv)comarr(tec)cz> - 6.9.2004 15:02:06

Ahoj,

zjistoval jsem ve zdrojaku situaci ohledne subj., ale nikam jsem se nedostal. Jde o to,
ze kdyz mam DBGrid, tak se na obrazovku vykresli jen radky, ktere jsou ve svislem
smeru cele, tj. pokud grid plynule roztahuji, posledni radek se objevi az teprve v
okamziku, kdy se tam ve svislem smeru cely vejde. Naproti tomu u stringgridu je
posledni radek zobrazen vzdy, i kdyz jsou z nej videt treba jen dva pixely.

Nevite nekdo, jak presvedcit DBGrid, aby vykresloval i ten posledni castecne viditelny
radek? Kolega rika, ze to kdysi nekde vycetl jako nejaky tip a bylo to pry strasne
jednoduche (zadne velke programovani, odvozovani nove komponenty apod.), nicmene
uz si nevzpomina. Ja jsem zkousel koukat do zdrojaku, ale zatim marne. Vypada to, ze
by melo stacit upravit hodnotu RowCount, ale prislusna metoda je private... Nevite
nekdo neco lepsiho?

Diky

David Lebeda

Printer.PrinterIndex -> API Function Failed

[*] David Fajfr <davidfajfr(zv)seznam(tec)cz> - 6.9.2004 15:02:06

Ahoj,

mam informacni system, ktery ma bezet na terminalovem serveru (Win 2003
Server).

Program ale havaruje na radku
OldIndex := Printer.PrinterIndex;
hlaska: "A Win32 API function failed".

Udelal jsem si maly testovaci programek, ktery ma jen jedno tlacitko a radek
ShowMessage(IntToStr(Printer.PrinterIndex));
Kupodivu tento prikaz projde a normalne se zobrazi index tiskarny.
S tim, ze puvodni aplikace havaruje na tomto prikazu jsem si 100% jisty.
PrinterIndex v aplikaci nefunguje nikde. Proto nefunguje Sinea,
PrinterSetupDialog, atd...

Nevite nekdo co s tim? Co je v aplikaci spatne?

David

Ziskani focusu

[*] Ing. Igor Kapoun <igor.kapoun(zv)volny(tec)cz> - 6.9.2004 15:22:07

Diky vsem za podnety. Jedna se o focus aplikace, nikoli VCL komponenty.

> SetForegroundWindow by nepomohlo?

Zkousel jsem toto:

if SetForegroundWindow (Application.Handle)
then Caption := 'OK'
else Caption := SysErrorMessage(GetLastError);
Pokud melo okno aplikace focus, bylo to OK, jak jsem aktivoval jinou
aplikaci, chybova hlaska byla "Parametr neni spravny"

Reseni: D5+IBX+FB1.5

[*] BS Info <info(zv)borkovec(tec)com> - 6.9.2004 15:04:06

Verte nebo ne - jakmile je nastaven server jako REMOTE (ackoliv je
samozrejme zcela jednoznacne LOCAL),
chodi to. Proc? Nevim. Dekuji vsem za rady, zvlaste pak ing. Tylovi, ktery
sice reagoval mimo konferenci, ale byl to jeho napad.
Honza Borkovec


JclDebug - CallStack

[*] Petr Brant <brant(zv)dcomm(tec)cz> - 6.9.2004 14:50:04

Lze a velmi jednoduse: Podivej se na ExceptDlg v prikladech k JCL, tam uz je
to hotove (ten unit musis dat do DPR na uplne prvni misto do Uses), musis
zmenit parametry linkeru, aby vytvoril MAP soubor a hotovo. Ten ExceptDlg si
uprav tak, aby se vse ukladalo do souboru, to uz je jednoduche.

Zdravim

RNDr. Petr Brant [brant(zv)dcomm(tec)cz]
http://brant.wz(tec)cz


Mam aplikaciu, kt. mi obcas hodi chybu a ja sa neviem dopatrat preco ju hodi
a kde Debatovalo sa tu o JclDebug, takze by som rad vyuzil to Urobil som si
skusobnu aplikaciu kde v fcii Delenie naschval delim nulou Tuto fciu volam
na click tlacitka A teraz by som potreboval urobit nieco take, aby mi to do
suboru ulozilo, kde nastala chyba (Unit, Riadok, pripadne CallStack) a preco
chyba nastala (chybova hlaska) Je mozne toto cez Jcldebug dosiahnut a ak
ano, tak co kde treba nastavit Dakujem

JclDebug - CallStack

[*] mstevlik(zv)gamo.sk - 6.9.2004 14:58:05

To som pozeral, ale nikde som neprisiel na to, ako tam zobrazim nazov
Unitu, Procedury, riadku
A co presne treba nastavit do Linkeru?

Stevlik Marian
ISYS programator

GAMO a.s.
Kyjevske nam. 6
974 04 Banska Bystrica
mail: mstevlik(zv)gamo.sk
tel: +421 48 4137935, 4372111
ip-tel: 421 48 4372098
mobil: +412 905 462010
icq: 38493645

delphi-l-owner(zv)clexpert(tec)cz wrote on 06.09.2004 14:50:04:

> Lze a velmi jednoduse: Podivej se na ExceptDlg v prikladech k JCL, tam
uz je
> to hotove (ten unit musis dat do DPR na uplne prvni misto do Uses),
musis
> zmenit parametry linkeru, aby vytvoril MAP soubor a hotovo. Ten
ExceptDlg si
> uprav tak, aby se vse ukladalo do souboru, to uz je jednoduche.
>
> Zdravim
>
> RNDr. Petr Brant [brant(zv)dcomm(tec)cz]
> http://brant.wz(tec)cz
>
>
> Mam aplikaciu, kt. mi obcas hodi chybu a ja sa neviem dopatrat preco ju
hodi
> a kde Debatovalo sa tu o JclDebug, takze by som rad vyuzil to Urobil som
si
> skusobnu aplikaciu kde v fcii Delenie naschval delim nulou Tuto fciu
volam
> na click tlacitka A teraz by som potreboval urobit nieco take, aby mi to
do
> suboru ulozilo, kde nastala chyba (Unit, Riadok, pripadne CallStack) a
preco
> chyba nastala (chybova hlaska) Je mozne toto cez Jcldebug dosiahnut a ak
> ano, tak co kde treba nastavit Dakujem

Nabidka zamestnani

[*] Zbysek Hlinka <konference(zv)hlinka(tec)cz> - 6.9.2004 14:54:04

> -----Original Message-----
> From: delphi-l-owner(zv)clexpert(tec)cz
> [mailto:delphi-l-owner(zv)clexpert(tec)cz] On Behalf Of Petr Zahradnik
> Sent: Monday, September 06, 2004 2:12 PM
>
> PS: Jsme uz hodne OT, i kdyz zase tohle je spis pomoc tem,
> kteri by se nachytali. Takze pokud mate nekdo dasi
> "pozitivni" zkusenosti, muzete je sem klidne poslat - ono
> opatrnosti v tomto pripade neni nikdy dost.

Jo, to ja znam jednoho programatora, ktery zacal delat jakesi OLE DB
komponenty. A kdyz usoudil, ze ho to dal uz nebavi, klidne se na to
vy....(kaslal) a nechal to svemu osudu. Jeste, ze za to nechtel zadne
prachy. :-)))

Takze bacha na free komponenty, jejich vlastnik to muze kdykoliv smest se
stolu. Jako napriklad TurboPower. ;-)

S pozdravem

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

Ziskani focusu

[*] Jiri Cincura <diskuze(zv)cincura(tec)net> - 6.9.2004 14:47:59

Sebesta Jan wrote:
> neco.setfocus -staci?
>

Myslim, ze tazatel myslel celou app, kdyz je treba prekryta jinou, ne? Nebo
jen prvek na formu?

--
Jiri Cincura
e-mail: mailto:jiri(zv)cincura.net; mailto:xcincura(zv)informatics.muni(tec)cz
ICQ#: 314711544
web: http://www.cincura.net; http://photo.cincura.net

JclDebug - CallStack

[*] Petr Fejfar <development(zv)callnet(tec)cz> - 6.9.2004 14:39:58

mstevlik(zv)gamo.sk wrote:

> A teraz by som potreboval urobit nieco take, aby mi to do suboru
> ulozilo, kde nastala chyba (Unit, Riadok, pripadne CallStack) a preco
> chyba nastala (chybova hlaska)
> Je mozne toto cez Jcldebug dosiahnut a ak ano, tak co kde treba
> nastavit Dakujem


Tohle pouzivame u systemu, ktere trvale loguji svoji aktivitu do trace logu
a stack si v pripade exception dumpuji z duvodu citelnosti do samostatneho
souboru, kde v trace logu bude jen odkaz na exception: procedure TraceStack(const AID:ANSIString);
{$IfDef vcvTracing}
var
Info: TStringList;
Idx: integer;
begin
try
Info := TStringList.Create;
try
JclLastExceptStackList.AddToStrings(Info,FALSE,FALSE,FALSE);
with GetLocationInfo(Caller(1)) do

StackLog.LogFmt(eglfiERR,UnitName,ExtractMethodName(ProcedureName),'--------
-- Stack dump for exception [%s]',[AID]);
for Idx:=0 to Info.Count-1 do
StackLog.Log(eglfiERR,sz,sz,Info[Idx]);
StackLog.Log(eglfiERR,sz,sz,'---------- Bottom of the except
stack');
finally
Info.Free;
end;
except
end;
end;
{$else}
begin
end;
{$endif} procedure HandleException(ExceptObj:TObject; ExceptAddr:Pointer;
AnyExceptOSException:Boolean);
var
ID: ANSIString;
LastError: dword;
begin
LastError := GetLastError;
try
try
inc(ExcCount);
if Assigned(TrLog) and (JclLastExceptStackList<>nil) then
begin
ID := '#'+IntToStr(ExcCount);
TrLog.LogFmt(eglfiERR,'############',Format('>> STACK DUMP
%s',[ID]),'EXCEPTION %s:
%s',[Exception(ExceptObj).ClassName,Exception(ExceptObj).Message]);
TraceStack(ID);
end;
except
end;
finally
SetLastError(LastError);
end;
end;

procedure __StartExceptionTracking;
begin
{$IfDef vcvTracing}
JclAddExceptNotifier(HandleException);
JclStackTrackingOptions := [stStack,stRawMode,stStaticModuleList];
JclStartExceptionTracking;
{$endif}
end;

procedure __StopExceptionTracking;
begin
{$IfDef vcvTracing}
JclStopExceptionTracking;
JclRemoveExceptNotifier(HandleException);
{$endif}
end;

Ziskani focusu

[*] Karel Halamasek <compro(zv)vol(tec)cz> - 6.9.2004 13:49:37

Staci napsat napriklad:

DBEdit1.SetFocus; // fokus na zvoleny objekt

Karel Halamasek


Dne Mon, 6 Sep 2004 13:25:25 +0200 napsal/-a Sebesta Jan <sebesta(zv)cube(tec)cz>
zpravu nasledujiciho zneni:

> neco.setfocus -staci?
>
> -----Original Message-----
> From: delphi-l-owner(zv)clexpert(tec)cz [mailto:delphi-l-owner(zv)clexpert(tec)cz] On
> Behalf Of Ing. Igor Kapoun
> Sent: Monday, September 06, 2004 12:47 PM
> To: delphi-l(zv)clexpert(tec)cz
> Subject: Ziskani focusu
>
> Potreboval bych, aby moje aplikace v urcitem bode programu ziskala focus
> podobne, jako kdybych na ni kliknul mysi.
> Dik za nakopnuti.
> Igor
>
>
>
>
>
>
--
Preji hezky den.
Karel Halamasek COMPRO

JclDebug - CallStack

[*] mstevlik(zv)gamo.sk - 6.9.2004 14:21:56

Hi all,
Potreboval by som pomoct s JclDebug
Mam aplikaciu, kt. mi obcas hodi chybu a ja sa neviem dopatrat preco ju
hodi a kde
Debatovalo sa tu o JclDebug, takze by som rad vyuzil to
Urobil som si skusobnu aplikaciu kde v fcii Delenie naschval delim nulou
Tuto fciu volam na click tlacitka
A teraz by som potreboval urobit nieco take, aby mi to do suboru ulozilo,
kde nastala chyba (Unit, Riadok, pripadne CallStack) a preco chyba nastala
(chybova hlaska)
Je mozne toto cez Jcldebug dosiahnut a ak ano, tak co kde treba nastavit
Dakujem

Stevlik Marian
ISYS programator

GAMO a.s.
Kyjevske nam. 6
974 04 Banska Bystrica
mail: mstevlik(zv)gamo.sk
tel: +421 48 4137935, 4372111
ip-tel: 421 48 4372098
mobil: +412 905 462010
icq: 38493645

Nabidka zamestnani

[*] Petr Zahradnik <clexpert(zv)clexpert(tec)cz> - 6.9.2004 13:31:26

Puvodni zprava ze dne 6.9.2004:

> Ten odkaz nefunguje, je tam kontrola na IP dotazovatele a timeout, je
> potreba zadat znova jmeno firmy do vyhledavace ..

Tak v tom pripade do jmena firmy je treba zadat: Supreme Technologies
a staci vpodstate: Supreme

Petr Zahradnik, pocitacovy expert

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


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

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

Nabidka zamestnani

[*] Ales Pavel <aldik(zv)quick(tec)cz> - 6.9.2004 13:55:53

> Nevim, jestli je to na me - me tedy bazen nikdo nikdy
> nesliboval, ja pro ne delal jen neco externe.

Jo je to na tebe Petre. A oni mi rikali ze pry si kazdy mesic delas
radost bazenem nebo autem:-)
(Kdyz jsem si spocital mesice v roce tak me napadlo jestli jsi nezmenil
profesi na dealera s bazenama a autama, po par mesicich by to byla
vylozene nutnost:)

> Ale az mi Jurka jednou zaplati tech par kacek, tak si ten
> bazen urcite koupim, slibuji :-)

Dobre v tom pripade ja tam vezmu lepee devy a sampus:-).

_________________________________________
Ales Pavel
ICQ#: 44615538
More ways to contact me: http://wwp.icq.com/44615538
_________________________________________


Nabidka zamestnani

[*] Petr Zahradnik <clexpert(zv)clexpert(tec)cz> - 6.9.2004 14:11:55

Puvodni zprava ze dne 6.9.2004:

> Jo je to na tebe Petre. A oni mi rikali ze pry si kazdy mesic delas
> radost bazenem nebo autem :-)

He, pockej, to vazne o me rikaji? No tak budu muset s pravdou ven, no
jasne, bazeny tu stosuju na sebe a autama tu zabiram celou ulici,
ostatni nemaji kde parkovat, tak jsou pekne nastvani :-)

Ja vetsinou zjistuji, ze me pouzivaji jako referenci, resp. jako "door
opener" - me zna dost firem a lidi a vzdycky mi nekdo zavola, ze ten a
ten se na me odkazoval, tak jim vzdycky zhatim ksefty, kdyz jim reknu
pravdu a dam odkazem tak 5 firem, kterym neco dluzi :-) A kupodivu uz
potkavam i spousty novych firem, ktere samy od sebe zacnou o teto
firme :-)

> (Kdyz jsem si spocital mesice v roce tak me napadlo jestli jsi
> nezmenil profesi na dealera s bazenama a autama, po par mesicich by
> to byla vylozene nutnost:)

Jo :-)

>> Ale az mi Jurka jednou zaplati tech par kacek, tak si ten
>> bazen urcite koupim, slibuji :-)

> Dobre v tom pripade ja tam vezmu lepee devy a sampus:-).

No za ty penize to nebude nejak veliky bazen, takze mozna by se dal i
tim sampusem napustit :-)

PS: Jsme uz hodne OT, i kdyz zase tohle je spis pomoc tem, kteri by se
nachytali. Takze pokud mate nekdo dasi "pozitivni" zkusenosti, muzete
je sem klidne poslat - ono opatrnosti v tomto pripade neni nikdy dost.

Petr Zahradnik, pocitacovy expert

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


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

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

Nabidka zamestnani

[*] Ing. Radek Tomsik <radek(zv)tomsige(tec)cz> - 6.9.2004 13:27:25

Ten odkaz nefunguje, je tam kontrola na IP dotazovatele a timeout, je
potreba zadat znova jmeno firmy do vyhledavace ..

Radek

-----Original Message-----
From: delphi-l-owner(zv)clexpert(tec)cz [mailto:delphi-l-owner(zv)clexpert(tec)cz] On
Behalf Of Petr Zahradnik


Varuji vsechny pripadne zajemce - nez Vas to napadne, kouknete se
treba sem:

http://www.justice(tec)cz/cgi-bin/sqw1250.cgi/or/s_detail.sqw?CEK=366353&PF=
112&K=1301c509

D5+IBX+FB1.5

[*] BS Info <info(zv)borkovec(tec)com> - 6.9.2004 13:27:25

Takze jsem vzal fbclient.dll a prejmenoval na gds32.dll - nechodi. Zkusil
jsem v IBExpertovi presmerovat client library primo na fbclient.dll, tez
nic. Create database taky nechodi. Jinak celou tu dobu se to snazim
rozbehnout na WinXPHE.
Shrnu postup: puvodne byl na masine FB1.0.2, vsechno bylo OK. Odinstaloval
jsem FB, a nainstaloval FB15 Final Setup version - jako Classic. Samozrejme
restarty atp. Potreboval jsem se v Delphi pichnout do jakekoliv fdb, cili
jsem vzal tu, ktera je v instalacnim baliku - employee.fdb a porad nejsem
schopen se vubec probit patrne k serveru - proto je asi ta hlaska
unavailable database. Pokud nainstaluju zpet FB10, je vsechno OK (samozrejme
s odpovidajici employee.gdb).
Jo, jeste neco: instalace FB15 probehne do adresare FireBird/Firebird_1_5/ -
zatimco FB10 primo do Firebirdu - ale to uz se fakt chytam stropu:-(


----- Original Message -----
From: "petr palicka" <palicka.petr(zv)seznam(tec)cz>
To: <delphi-l(zv)clexpert(tec)cz>
Sent: Monday, September 06, 2004 12:55 PM
Subject: Re: D5+IBX+FB1.5


> ahoj,
>
> napada me, jestli se nepripojujes pomoci stare verze knohovny
> gds32.dll. ta nova se jmenuje fbclient.dll a mozna ji budes muset
> prejmenovat.
>
> peca
>
>

D5+IBX+FB1.5

[*] Jan Naiser <tua(zv)wo(tec)cz> - 6.9.2004 13:53:53

Ahoj,

> jsem vzal tu, ktera je v instalacnim baliku - employee.fdb a porad nejsem
> schopen se vubec probit patrne k serveru - proto je asi ta hlaska

jenom poznamka - nemusi byt pred nazvem db i na lokale (od verze 1.5) IP
stroje? Ted to nemuzu overit, ale pred casem jsem s tim taky takto bojoval.

Honza.

D5+IBX+FB1.5

[*] Tomas Bradle <t.bradle(zv)sanet(tec)cz> - 6.9.2004 13:49:32

No ja s uvedenou kombinaci nemam problem, ale doporucuji provest :

1. pri instalaci FB1.5 dat parametr: vytvorit gds32.dll pro kompatibilitu s
IB
2. jestli to bezi na XP, tak vypnout "Nastroj obnoveni systemu" v Tento
pocitac-vlastnosti, jinak zalohuje databazi po kazde zmene, coz strasne
zdrzuje


Tomas Bradle
t.bradle(zv)worldonline(tec)cz



----- Original Message -----
From: "petr palicka" <palicka.petr(zv)seznam(tec)cz>
To: <delphi-l(zv)clexpert(tec)cz>
Sent: Monday, September 06, 2004 12:55 PM
Subject: Re: D5+IBX+FB1.5


> ahoj,
>
> napada me, jestli se nepripojujes pomoci stare verze knohovny
> gds32.dll. ta nova se jmenuje fbclient.dll a mozna ji budes muset
> prejmenovat.
>
> peca

Nabidka zamestnani

[*] Petr Zahradnik <clexpert(zv)clexpert(tec)cz> - 6.9.2004 13:43:27

Puvodni zprava ze dne 6.9.2004:

> PS: Petre FAAAAAKT mas bazen? :-)))))))))))))))

Nevim, jestli je to na me - me tedy bazen nikdo nikdy nesliboval, ja
pro ne delal jen neco externe. Mimochodem, meli pruser s uvedenim
slibovane verze, kdy jim jaksi jejich programatori-studenti, kterym
stejne nic neplatili, nedokazali neco vyvinout. Ja jim to udelal a
vytrhl jim tak trn z paty na posledni chvili. Oni se mi za to
odvdecili tak, jako kazdemu jinemu. Ne ze bych byl tak blbej a necekal
to, ale v hloubi duse jsem doufal, ze jim za to nebude stat blbych
25k, protoze kdyby nebyli blbi, spoluprace se mnou by jim ty miliony
mozna prinesla i legalni cestou a bez exekutoru.

Ale az mi Jurka jednou zaplati tech par kacek, tak si ten bazen urcite
koupim, slibuji :-)

Petr Zahradnik, pocitacovy expert

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


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

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

OT: Nabidka zamestnani

[*] Ales Pavel <aldik(zv)quick(tec)cz> - 6.9.2004 13:31:26

Jo jo sveho casu (cca 2/3 roky zpet) jsem u nich mel take nastoupit.
Jednak jsem byl silne zklaman cenou kterou mi nabidli za moji praci (byl
jsem ve srabu a oni slibovali ze to casem bude lepsi), ale definitivne
me dostalo kdyz jejich hlavni vyvojar, ktery me celou cestu lanaril jak
se daji u nich vydelat dobre penize, si ode me na zastavce pujcil
stovku na chleba:-) dodnes jsem ji nevidel. To me presvedcilo ze to asi
neni ta prava firma pro me. Dokonce me ani neprisli OK ty historky o
jednom cloveku (dotycny jiste vi), ze diky spolupraci s jejich
spolecnosti si stavi bazeny a kupuje auta:-)))) Zaprve nejsem padlej na
hlavu a vim ze je to hodne nadsazene a zadruhe i kdyby nakrasno byla
pravda je to ciste vec jejich duverna zalezitost kterou by asi nemeli
krmit kazdeho zajemce o praci:-)))

PS:Petre FAAAAAKT mas bazen?:-)))))))))))))))

_________________________________________
Ales Pavel
ICQ#: 44615538
More ways to contact me: http://wwp.icq.com/44615538
_________________________________________



> Varuji vsechny pripadne zajemce - nez Vas to napadne,
> kouknete se treba sem:
>
http://www.justice(tec)cz/cgi-bin/sqw1250.cgi/or/s_detail.sqw?CEK=366353&PF=
112&K=1301c509

na vsechny ty jejich exekuce. Jinak ja mam u nich pohledavku na cca 25k
uz peknych par let. A koho znam, kde s nimi kdy co mel, ten je na tom
stejne. Obrazek si udelejte sami.

D5+IBX+FB1.5

[*] Jiri Virt <virt(zv)volny(tec)cz> - 6.9.2004 13:33:26

pokud nejde se pripojit pres konzoli k local FB, zaregistrovat SQLSVR a
zalozit databazi, problem bude v instalaci FB.

starou odinstalovat , smazat zbytkovy adresar FB a nainstalovat FB novou ...
Jirka Virt

Ziskani focusu

[*] Sebesta Jan <sebesta(zv)cube(tec)cz> - 6.9.2004 13:25:25

neco.setfocus -staci?

-----Original Message-----
From: delphi-l-owner(zv)clexpert(tec)cz [mailto:delphi-l-owner(zv)clexpert(tec)cz] On
Behalf Of Ing. Igor Kapoun
Sent: Monday, September 06, 2004 12:47 PM
To: delphi-l(zv)clexpert(tec)cz
Subject: Ziskani focusu

Potreboval bych, aby moje aplikace v urcitem bode programu ziskala focus
podobne, jako kdybych na ni kliknul mysi.
Dik za nakopnuti.
Igor

Ziskani focusu

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

Ing. Igor Kapoun wrote:
> Potreboval bych, aby moje aplikace v urcitem bode programu ziskala focus
> podobne, jako kdybych na ni kliknul mysi. Dik za nakopnuti.
> Igor

SetForegroundWindow by nepomohlo?

--
Jiri Cincura
e-mail: mailto:jiri(zv)cincura.net; mailto:xcincura(zv)informatics.muni(tec)cz
ICQ#: 314711544
web: http://www.cincura.net; http://photo.cincura.net

Ciastocne modalne okno

[*] Jan Kostial <lucky62(zv)szm.sk> - 6.9.2004 13:07:23

Zdravim,

Ako sa da vytvorit okno, ktore bude modalne len k oknu,
z ktoreho sa iniciovalo jeho vytvorenie (zobrazenie) ?

Upresnenie:
Povedzme, ze si v aplikacii skladu otvorim okno so zoznamom faktur
a ine okno so zoznamom obchodnych partnerov.
Z okna so zoznamom faktur spustim dalsie okno, v ktorom chcem editovat
nejaku konkretnu fakturu. Chcem, aby sa nedalo prepnut do okna
so zoznamom faktur pokial je zobrazene editacne okno.
Ale chcem, aby sa dalo prepnut do hlavneho okna aplikacie
a tiez do okna so zoznamom obchodnych partnerov.

ShowModal mi urobi okno vzdy modalne voci celej aplikacii.
Skusal som laborovat aj s vlastnostami Owner a Parent,
ale nedopracoval som sa k vysledku.

Vdaka za radu.

Lucky.

Ziskani focusu

[*] Ing. Igor Kapoun <igor.kapoun(zv)volny(tec)cz> - 6.9.2004 12:47:21

Potreboval bych, aby moje aplikace v urcitem bode programu ziskala focus
podobne, jako kdybych na ni kliknul mysi.
Dik za nakopnuti.
Igor


D5+IBX+FB1.5

[*] petr palicka <palicka.petr(zv)seznam(tec)cz> - 6.9.2004 12:55:22

ahoj,

napada me, jestli se nepripojujes pomoci stare verze knohovny
gds32.dll. ta nova se jmenuje fbclient.dll a mozna ji budes muset
prejmenovat.

peca

D5+IBX+FB1.5

[*] Jiri Virt <virt(zv)volny(tec)cz> - 6.9.2004 12:47:21

a funguje zalozani prazdny database a create table??


jinak , udelat backup database v FB1 a pak udelat restore v FB1.5


ja zalozenou mel databazi v IB6.0,
pak jsem nainstaloval FB 1.0 a nasledne FB 1.5 .

bez problemu

priponu mam gdb,


Jirka Virt

Jake tabulky se odkazuji na danou tabulku

[*] Slavomir Skopalik <skopalik(zv)elektlabs(tec)cz> - 6.9.2004 12:41:20

Podivej se do tabulky RDB$INDICES.
Tam zjistis, jak se jmenuje PK k FK a pak se jeste jednou zeptas, ke
komu patri ten PK.

SELECT
( SELECT RDB$RELATION_NAME FROM RDB$INDICES WHERE
RDB$INDEX_NAME=RF.RDB$FOREIGN_KEY)
FROM RDB$INDICES RF
WHERE RDB$RELATION_NAME='PRODUCTS' AND RDB$FOREIGN_KEY IS NOT NULL

Slavek

Ing. Slavomir Skopalik
Jednatel spolecnosti
Elekt Labs s.r.o.
Chaloupky 158
783 72 Velky Tynec
Czech Republic
--------------------------------------------
Mobil: +420 724 207 851
icq:199 118 333
e-mail:skopalik(zv)elektlabs(tec)cz
http://www.elektlabs(tec)cz


>
> Jak zjistim seznam tabulek, ktere se odkazuji na danou
> tabulku pres FK?
>
> FB1.5
>
> Dekuji
>
>
>
>

ADMIN: OT: Nabidka zamestnani

[*] Petr Zahradnik <clexpert(zv)clexpert(tec)cz> - 6.9.2004 12:31:19

Puvodni zprava ze dne 6.9.2004:

> shanime dobre programatory pro vyvoj predevsim CRM aplikace.

> Supreme Technologies, s.r.o.

Varuji vsechny pripadne zajemce - nez Vas to napadne, kouknete se
treba sem:

http://www.justice(tec)cz/cgi-bin/sqw1250.cgi/or/s_detail.sqw?CEK=366353&PF=112&K=1301c509

na vsechny ty jejich exekuce. Jinak ja mam u nich pohledavku na cca
25k uz peknych par let. A koho znam, kde s nimi kdy co mel, ten je na
tom stejne. Obrazek si udelejte sami.

Petr Zahradnik, pocitacovy expert

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


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

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

D5+IBX+FB1.5

[*] BS Info <info(zv)borkovec(tec)com> - 6.9.2004 12:29:19

Nejdrive jsem se zkousel pripojit rovnou v delfinech, ted laboruju s
IBExpertem (posledni verze, vcera stazena -personal).
Zmenil jsem security file na security.fdb (diky do Brna), ale odezva je
porad stejna - unavailable database. Restartil jsem,
bezi guard (ten asi nemusi) a je to ve verzi classic.
----- Original Message -----
From: "Jiri Virt" <virt(zv)volny(tec)cz>
To: <delphi-l(zv)clexpert(tec)cz>
Sent: Monday, September 06, 2004 11:59 AM
Subject: Re: D5+IBX+FB1.5


> v cem to , co hlasi?
>
> na konzoli musite zaregistrovat server... local a v nem databazi ..
> employe.fdb/gdb
>
> Jirka Virt
>
>
>

OT: Nabidka zamestnani

[*] Petr Jarkovsky <pejasoft(zv)volny(tec)cz> - 6.9.2004 12:19:18

Preji dobry den,

shanime dobre programatory pro vyvoj predevsim CRM aplikace.
Blizsi info na http://www.supreme(tec)cz/scripts/detail.asp?id=114.

Odpovedi prosim primo na muj e-mail.

S pozdravem

Petr Jarkovsky
Development manager
Supreme Technologies, s.r.o.

jarkovsky(zv)supreme(tec)cz


D5+IBX+FB1.5

[*] Jiri Virt <virt(zv)volny(tec)cz> - 6.9.2004 11:59:16

v cem to , co hlasi?

na konzoli musite zaregistrovat server... local a v nem databazi ..
employe.fdb/gdb

Jirka Virt

D5+IBX+FB1.5

[*] BS Info <info(zv)borkovec(tec)com> - 6.9.2004 11:39:15

Tak jsem asi natvrdlej, ale at to zkousim jak chci, tak se ani na
employee.fdb nedostanu - unavailable database.
Muzete nekdo tuknout - ted jsem delal dlouho na MSSQL a asi neco vynechavam
Dik, Honza

proc nejde z DBgridu precist text?

[*] Lahoda Radek <lahodar(zv)uniplet(tec)cz> - 6.9.2004 11:25:14

to Zatecka: ve fieldsdef je mam

R.Lahoda


Unable to locate Dll

[*] Sebesta Jan <sebesta(zv)cube(tec)cz> - 6.9.2004 11:17:13

Zdavim,

Nevim kde mam chybu. Poprve tvorim neco co je v samostatnem souboru
Import.dll. Pokud to spoustim z WinXP tak to jede jak ma. Ale pokud to
prekopcim na Win2000 Server tak mi exe pro startu hlasi %sub%. Presto, ze
tam ten dll soubor je. Nepomuze ani zkopirovani dll do napr.
C:\WinNt\system32.

Cca pred tydnem kdyz jsem po zkusil tak to slo a ted nic.

Nevite nekdo co je spatne?

Dekuji
Honza

InnoSetup a volba jazyka

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

Uz jsem na to prisel. Nesmi ve scriptu byt nasledujici

[LangOptions]
LanguageName=Czech
LanguageID=$0405
DialogFontName=MS Shell Dlg
DialogFontSize=8
DialogFontStandardHeight=13
TitleFontName=Arial
TitleFontSize=29
WelcomeFontName=Arial
WelcomeFontSize=12
CopyrightFontName=Arial
CopyrightFontSize=8

Tak pozor na to!!!

Martin


> Schvalne jsem to zkousel na nasem scriptu - jakmile zmenim hodnotu polozky
> LanguageName v .ISL souboru a udelam build, tak se nova hodnota objevi
> v ComboBoxu.
>
> Jeste me napada, ze cesta k .ISL souborum je relativni k ceste definovane
v
> sekci [setup] jako SourceDir, tak jestli v tom nemas nejaky chaos.

proc nejde z DBgridu precist text?

[*] Lahoda Radek <lahodar(zv)uniplet(tec)cz> - 6.9.2004 09:19:04

to Zatecka: ve fieldsdef je mam

R.Lahoda

...---...
Blizi se cipova totalita, pak prijde Apokalypsa
http://www.vesmirni-lide(tec)cz/lucid/index3.htm
http://www.vesmirni-lide(tec)cz/lucid/apokalypsa.htm


----- Puvodni zprava -----
Od: "Martin Zatecka" <zatecka(zv)systemart(tec)cz>
Komu: <delphi-l(zv)clexpert(tec)cz>
Odeslano: 3. zari 2004 16:06
Predmet: Re: proc nejde z DBgridu precist text?> Mas nad KADaoTable2 definovano, ze ty sloupecky tam jsou?
> Pokud se nemylim, tak pokud to tam neni, tak to hlasi tohle.
>
> M. Za.
>
> ----- Original Message -----
> From: "Lahoda Radek" <lahodar(zv)uniplet(tec)cz>
> To: <delphi-l(zv)clexpert(tec)cz>
> Sent: Friday, September 03, 2004 12:42 PM
> Subject: proc nejde z DBgridu precist text?
>
> > zdravim,
> > pouziva nekdo mdb? potreboval bych obcas poradit..
> >
> > nejde mi toto, pise ze field Pozice v tabulce neni (pritom v dbgridu je
> > videt):
> > Spozice := KADaoTable2.FieldByName('Pozice').AsString;
> >
> > nejde to ani takto:
> > //Spozice := DBGrid1.Columns.Items[0].Field.AsString;
> > //Spozice := KADaoTable2.FieldValues['Pozice'];
> > //Spozice := DBGrid1.Datasource.Dataset.FieldByName('Pozice').AsString;
> >
> >
> >
> > definici table mam v create jako v prikladu
> > //table systemy
> > if KADaoDatabase2.Connected Then KADaoDatabase2.Connected:=False;
> > //reset
> > KADaoDatabase2.Connected:=True;
> > KADaoTable2.QueryDefParameters.Clear;
> > KADaoTable2.QueryDefName:='';
> > KADaoTable2.TableName:='';
> > KADaoTable2.SQL.Clear;
> > sql := 'Select Pozice,Konektor,Deska from systemy';
> > KADaoTable2.SQL.Add(sql);
> > KADaoTable2.Active:=True;
> > Datasource2.DataSet:=KADaoTable2;
> > DBGrid1.DataSource:=Datasource2; //nelze menit
> >
> > mam jeste CtrlGrid, v nem to funguje dobre, proc ne v dbgridu?!?
> >
> > dekuji za rady
> > R.Lahoda
>

D5+IBX+FB1.5

[*] BS Info <info(zv)borkovec(tec)com> - 6.9.2004 09:43:06

Zdravim konferenci,
rad bych presel na FB1.5 (z FB1.0), ale s IBX 5.04 se mi to nedari -
predpokladam, ze nepodporuji FB1.5. Existuje nejaka moznost jak zprovoznit
D5ProSP1 + IBX + FB1.5? Prechod na FIBy apod. je mi znam, jde mi o IBX -
chodi s FB1.5 ve spojeni D6 a vyse?

Diky

Roman Borkovec
+420 603 590 639
www.borkovec.com


D5+IBX+FB1.5

[*] Jiri Virt <virt(zv)volny(tec)cz> - 6.9.2004 09:49:07

D5SP1+FB1.5.1.4481(na Win2003_SVR)+IBExpress 5.04 mi jede k naprosty
spokojenosti

(prechod byl z FB 1.0xxx)

Jirka Virt

proc nejde z DBgridu precist text?

[*] Lahoda Radek <lahodar(zv)uniplet(tec)cz> - 6.9.2004 09:19:03

problem s dbgridem jsem nevyresil, pouzil jsem proto dalsi ADOtable bez
propojeni na grid a z neho taham data do promennych.. ale je to na pytel

R.Lahoda

...---...
Blizi se cipova totalita, pak prijde Apokalypsa
http://www.vesmirni-lide(tec)cz/lucid/index3.htm
http://www.vesmirni-lide(tec)cz/lucid/apokalypsa.htm


----- Puvodni zprava -----
Od: "Lahoda Radek" <lahodar(zv)uniplet(tec)cz>
Komu: <delphi-l(zv)clexpert(tec)cz>
Odeslano: 3. zari 2004 12:42
Predmet: proc nejde z DBgridu precist text?> zdravim,
> pouziva nekdo mdb? potreboval bych obcas poradit..
>
> nejde mi toto, pise ze field Pozice v tabulce neni (pritom v dbgridu je
> videt):
> Spozice := KADaoTable2.FieldByName('Pozice').AsString;
>
> nejde to ani takto:
> //Spozice := DBGrid1.Columns.Items[0].Field.AsString;
> //Spozice := KADaoTable2.FieldValues['Pozice'];
> //Spozice := DBGrid1.Datasource.Dataset.FieldByName('Pozice').AsString;
>
>
> definici table mam v create jako v prikladu
> //table systemy
> if KADaoDatabase2.Connected Then KADaoDatabase2.Connected:=False;
> //reset
> KADaoDatabase2.Connected:=True;
> KADaoTable2.QueryDefParameters.Clear;
> KADaoTable2.QueryDefName:='';
> KADaoTable2.TableName:='';
> KADaoTable2.SQL.Clear;
> sql := 'Select Pozice,Konektor,Deska from systemy';
> KADaoTable2.SQL.Add(sql);
> KADaoTable2.Active:=True;
> Datasource2.DataSet:=KADaoTable2;
> DBGrid1.DataSource:=Datasource2; //nelze menit
>
> mam jeste CtrlGrid, v nem to funguje dobre, proc ne v dbgridu?!?
>
> dekuji za rady
> R.Lahoda
>
>
>
>
>

Cteni z paralelniho portu

[*] Marek Dostal <konf(zv)agnis(tec)cz> - 6.9.2004 09:19:04

Potreboval bych cist udaje z paralelniho portu. Muzete mi nekdo poradit nejakou vhodnou komponentu?

Marek Dostal
D7Prof, WinXP Home, FireBird 1.0.2

InnoSetup a volba jazyka

[*] Petr Fejfar <development(zv)callnet(tec)cz> - 6.9.2004 09:17:03

Zapletal Martin wrote:

> Zda se ze tohle je vsechno v poradku. Zkusim asi vytvorit novy script
> a dat tam jen jazyky.

Schvalne jsem to zkousel na nasem scriptu - jakmile zmenim hodnotu polozky
LanguageName v .ISL souboru a udelam build, tak se nova hodnota objevi
v ComboBoxu.

Jeste me napada, ze cesta k .ISL souborum je relativni k ceste definovane v
sekci [setup] jako SourceDir, tak jestli v tom nemas nejaky chaos.


HTH, pf

InnoSetup a volba jazyka

[*] Petr Fejfar <development(zv)callnet(tec)cz> - 6.9.2004 08:33:00

Zapletal Martin wrote:

> Dik, ale chova se to stejne! Fakt uz nevim!

Zkontroluj, jestli mas v kazdem ze souboru .ISL z definice [Languages]
popsan jazyk,
tj.[LangOptions]
LanguageName=English
LanguageID=$0409


[LangOptions]
LanguageName=cestina
LanguageID=$0405

atd.


HTH, pf

InnoSetup a volba jazyka

[*] Zapletal Martin <zapletal(zv)inoma(tec)cz> - 6.9.2004 08:47:01

Zda se ze tohle je vsechno v poradku. Zkusim asi vytvorit novy script a dat
tam jen jazyky.
Martin

> Zkontroluj, jestli mas v kazdem ze souboru .ISL z definice [Languages]
> popsan jazyk,

> [LangOptions]
> LanguageName=English
> LanguageID=$0409
>
>
> [LangOptions]
> LanguageName=cestina
> LanguageID=$0405


Synapse a HTTPS

[*] Lukas Gebauer <gebylist(zv)mlp(tec)cz> - 6.9.2004 08:35:00

> mohl bych poprosit o jednu vec pred casem se tu objevil navod jak si
> udelat server a nebo klienta ktery vyuziva SSL.. MOhl by to prosim
> nekdo poslat znovu..

Oboje je velmi podobne normalnimu TCP klientu ci TCP serveru.

V pripade serveru, pote co prijmes spojeni a vytvoris si socket
obsluhujici prave tveho klienta, tak SSL nahodis volanim metody
SSLAcceptConnection. V pripade serveru MUSIS mit spravne vyplnene
property SSLCertificateFile a SSLPrivateKeyFile. (oba potrebuji
soubory ve formatu PEM)

Na strane kleinta, v okamziku, kdu chces zahajit SSL spojeni, staci
volat metodu DoSSLConnect.

Tolik teda zaklad. Vice se dozvis studovanim dokumentace. Chces-li
priklady, je jim Synapse sama o sobe. Podivej se, jak jsou napsany
implementace protokolu, ktere SSL vyuzivaji, treba smtpsend,
ldapsend, ftpsend, httpsend, imapsend, nntpsend,...
--
Lukas Gebauer.

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

InnoSetup a volba jazyka

[*] Zapletal Martin <zapletal(zv)inoma(tec)cz> - 6.9.2004 08:12:58

Dik, ale chova se to stejne! Fakt uz nevim!

Martin


> Zkus misto Cesky, English, Slovak napsat zkratky .... CZ, EN, SK


InnoSetup a volba jazyka

[*] Dalibor <dalibor(zv)torola(tec)cz> - 6.9.2004 07:58:57

Zkus misto Cesky, English, Slovak napsat zkratky .... CZ, EN, SK

[Languages]
Name: en; MessagesFile: ...
Name: cz; MessagesFile: ...
Name: sk; MessagesFile: ...

> Mam nasledujici problem. Ve scriptu InnoSetupu doplnim
>
> [Languages]
> Name: Cesky; MessagesFile: compiler:Languages\Czech-4-4.2.1.isl
> Name: English; MessagesFile: compiler:Languages\English.isl
> Name: Slovak; MessagesFile: compiler:Languages\Slovak-4-4.2.1.isl
>
> Po kompilaci ale dialog pro vyber jazyka sice obsahuje tri polozky na
vyber,
> i vybery funguji, ale vsechny tri texty v ComboBox-u jsou Czech a ne tak
jak
> jsem je pojmenoval. Nevite co s tim? Dela to v posledni verzi i starsich.
>
> Zapletal Martin
>
>

InnoSetup a volba jazyka

[*] Zapletal Martin <zapletal(zv)inoma(tec)cz> - 6.9.2004 07:48:56

Mam nasledujici problem. Ve scriptu InnoSetupu doplnim

[Languages]
Name: Cesky; MessagesFile: compiler:Languages\Czech-4-4.2.1.isl
Name: English; MessagesFile: compiler:Languages\English.isl
Name: Slovak; MessagesFile: compiler:Languages\Slovak-4-4.2.1.isl

Po kompilaci ale dialog pro vyber jazyka sice obsahuje tri polozky na vyber,
i vybery funguji, ale vsechny tri texty v ComboBox-u jsou Czech a ne tak jak
jsem je pojmenoval. Nevite co s tim? Dela to v posledni verzi i starsich.

Zapletal Martin


Kontrola vytaceneho spojeni II

[*] Zapletal Martin <zapletal(zv)inoma(tec)cz> - 6.9.2004 07:42:56

> Kdokoliv muze kdykoliv do modemu odeslat ATDT<nejake drahe cislo> a
> vubec ho nemusi zajimat zadne soubory nebo ActiveX. Uplne nejlepsi
> ochrana je hardwarove blokovani na ustredne.

Pokud ustredna neni, da se u operatora zablokovat volani na spec smery. Ale
mohlo stacit modem drzet obsazeny a ostatni porty take, ne?

>
> Jinak, dneska uz je dial-up stejne pomalu mrtva zalezitost.

Ani bych nerekl. I kdyz se ceny pevneho pripojeni snizily, porad je vetsina
tech co se pripojuji.(alespon me se to tak jevi)

Martin


TForm - FormActivate, FormDeactivate

[*] Lebeda David <david.lebeda(zv)comarr(tec)cz> - 6.9.2004 06:38:52

> Prosim o radu, jak zaridit aby pri volani modalniho formulare z
> modalniho formulare jsem se dozvedel, ze puvodni modalni formular je
> zase aktivni.
>
> Priklad:
> Form1.ShowModal ... provede Form1.FormActivate
> Form2.ShowModal ... neprovede Form1.FormDeactivate, provede
> Form2.FormActivate
> Form2.Close ... provede Form2.FormDeactivate ale neprovede se
> Form1.FormActivate
>

Ahoj,

moc sice nerozumim, o co jde, protoze to, ze Form2 prestal byt aktivni, nastane urcite v
okamziku, kdy skoncilo provadeni Form2.ShowModal, coz je misto, kde si muzes
udelat, co uznas za vhodne, ale jako druhou cestu bych se zkusil mrknout do helpu na
TScreen. Ma myslim udalosti nastavajici pri zmene aktivniho Controlu i pri zmene
aktivniho formulare.

David Lebeda

TForm - FormActivate, FormDeactivate

[*] jsdelphi(zv)creatix(tec)cz - 6.9.2004 01:36:33

Prosim o radu, jak zaridit aby pri volani modalniho formulare z modalniho
formulare jsem se dozvedel, ze puvodni modalni formular je zase aktivni.

Priklad:
Form1.ShowModal ... provede Form1.FormActivate
Form2.ShowModal ... neprovede Form1.FormDeactivate, provede
Form2.FormActivate
Form2.Close ... provede Form2.FormDeactivate ale neprovede se
Form1.FormActivate

Potrebuji ale ziskat informaci pro hlavni formular, ze Form1 je zase aktivni
a precist si jeho Caption.

Volani modalnich formularu muze byt n krat.

Jan Skopovy


TWordApplication - menu

[*] Roland Turcan <konf(zv)rotursoft.sk> - 6.9.2004 01:22:32

Hello Delphi CZ konferencia!

Ako je mozne pridat do Wordu vlasne menu, pokial pristupujem cez
TWordApplication?

Dakujem

--
Best regards, TRoland

http://exekutor.rotursoft.sk


TWordApplication v mojom forme

[*] Roland Turcan <konf(zv)rotursoft.sk> - 6.9.2004 01:08:29

Hello All!

Ako prinutim bezat TWordApplication v mojom okne?

Dakujem.

Delphi 5 Pro.
--
Best regards, TRoland

http://exekutor.rotursoft.sk


ADMIN: Ponuka prace

[*] Petr Zahradnik <clexpert(zv)clexpert(tec)cz> - 5.9.2004 21:54:16

Puvodni zprava ze dne 5.9.2004:

> Vazeny pane,
> reaguji na Vasi nabidku zamestnani a prosim o zaslani blizsich informaci.
> V oboru IT pracuji asi 20 let (vek 41 roku), v soucasne dobe pracuji jako
> programator databazovych SW.
> Vlastnim certifikaci pro spravu systemu Navision.
> dekuji
> evzen sramek, tel. 603 820367

1. NAPOMENUTI ADMINISTRATORA KONFERENCE DELPHI ZA PRISPEVEK S NULOVOU
INFORMACNI HODNOTOU

2. NAPOMENUTI ADMINISTRATORA KONFERENCE DELPHI ZA SPATNE QUOTOVANI
viz pravidla konference bod 5 d)
http://www.clexpert(tec)cz/konference/pravidla.asp

Petr Zahradnik, pocitacovy expert

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


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

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

Ponuka prace

[*] Evzen Sramek <evzen.sramek(zv)volny(tec)cz> - 5.9.2004 21:34:14

Vazeny pane,
reaguji na Vasi nabidku zamestnani a prosim o zaslani blizsich informaci.
V oboru IT pracuji asi 20 let (vek 41 roku), v soucasne dobe pracuji jako
programator databazovych SW.
Vlastnim certifikaci pro spravu systemu Navision.
dekuji
evzen sramek, tel. 603 820367

----- Original Message -----
From: "Pavol Kakacka" <kakacka(zv)proca(tec)cz>
To: <delphi-l(zv)clexpert(tec)cz>
Sent: Thursday, September 02, 2004 12:12 PM
Subject: OT: Ponuka prace


>
> Dobry den!
>
> Holding AAC (www.aac.as) je v sucasnosti pokladany za jednu z
> nejuspesnejsich vlastnickych struktur na ceskom trhu informacnych
> technologii. Jednou z divizii nasich firiem je divizia informacnych
> systemov.
>
> Do tejto divizie hladame cloveka na spravu informacnych systemov a
Hot-Line.
> Ide o IS Navision a SAP Business One.
> Pracovisko Praha. Ponukame dobre platove ohodnotenie. Pozadujeme
skusenosti
> v obore IS.
> Ziadosti o blizsie informacie prosim posielajte na moj sukromny mail.
>
> Pavol Kakacka
> vedouci vyvoje IS
> ProCA spol. s r.o.
> V Luzich 818
> Praha 4 Libus
> tel: +420 234 646 443
> kakacka(zv)proca(tec)cz
> www.proca(tec)cz
> www.brave(tec)cz
> www.tesco(tec)cz
>
>
>

Jake tabulky se odkazuji na danou tabulku

[*] Dalibor <dalibor(zv)torola(tec)cz> - 5.9.2004 18:50:04

Jak zjistim seznam tabulek, ktere se odkazuji na danou tabulku pres FK?

FB1.5

Dekuji

Synapse a HTTPS

[*] david.kopecek(zv)hacktrack(tec)com - 4.9.2004 10:08:01

Cau

>> nemohl by mi nekdo poradit, jakym zpusobem se pracuje s vyse uvedenym.
>> Potrebuje provest post a pote nasledne prijmout odpoved.

LG> Pouzij to uplne stejne, jako kdyby slo jen o normalni HTTP. Jen musis
LG> mit DLL od OpenSSL umistene tak, aby je tva aplikace videla, a pak uz
LG> staci pouzit 'https://.." v URL.

mohl bych poprosit o jednu vec pred casem se tu objevil navod jak si
udelat server a nebo klienta ktery vyuziva SSL.. MOhl by to prosim
nekdo poslat znovu..

--
S pozdravem,
david
david.kopecek(zv)hacktrack.com

Vlakna - zacatky - pokracovani

[*] Petr Fejfar <development(zv)callnet(tec)cz> - 4.9.2004 09:33:58


...uz jsem v noci nemel silu to dopsat , tak jeste nekolik vet :-)

Vedle vlastniho flow control je pri praci se thready dulezita rada dalsich
aspektu:

5. Mezi nejvyznamnejsi patri prace se sdilenymi prostredky. V naznacenem
skeletu mezi sdilene prostredky patri pole handlu, ke kterym se pristupuje
jednak v kontextu threadu z metod _Init/_Done a dvak neprimo z hlavniho
threadu volanim metod NewRequest popr. Kill, ktere jsou implementovany v
principu takto:

if Handle<>0 then
Signal(Handle);

Je zrejme, ze mezi testem hodnoty Handle a jeho uzitim muze probehnout napr.
metoda _Done a tim se stane hodnota Handle neplatna. V uvedenem prikladu
hodnota property Running=TRUE indikuje, ze je mozne s nimi pracovat.
Cili pri urcite kooperaci hlavniho threadu s podruznym je to bezpecne.

Ovsem neni dobre spolehat se na kooperaci, lepsi je operovat se sdilenymi
prostredky vyhradne v kritickych sekcich, takze metody _Init/_Done by
vypadaly v principu takhle:

protected
FWaitCriticalSection: TRTLCriticalSection;

constructor xxxx.Create(...);
begin
...
InitializeCriticalSection(FWaitCriticalSection);
...
end;

destructor xxxx.Destroy
begin
...
DeleteCriticalSection(FWaitCriticalSection);
...

end;

procedure xxxx._Init;
begin
EnterCriticalSection(FWaitCriticalSection);
try
// telo puvodni metody _Init resp. _Done
finally
LeaveCriticalSection;
end;
end;

procedure xxxx.NewRequest;
begin
EnterCriticalSection(FWaitCriticalSection);
try
if FWaitHandles[ewhRequest]<>0 then
ReleaseSemaphore(FWaitHandles[ewhRequest],1,nil);
finally
LeaveCriticalSection;
end;
end;


6. Dalsim vyznamnym aspektem je error handling/recovery

V naznacenem prikladu jsem zamerne nedal telo metody Execute do bloku
try-except, prestoze se v metodach _Init/_Done pouziva vyvolani vyjimky v
pripade chyby.
Tu odchyti ThreadProc ve VCL a strci ji do property FatalException. Aplikace
muze zjistit co se stalo z hodnot Running a Terminated:

Running=FALSE Terminated=FALSE raise pri Init
Running=TRUE Terminated=FALSE raise (fatal) v Body
Running=FALSE Terminated=TRUE raise v Done

Samozrejme v rade pripadu je nutne navrhnout nejakou promyslenou taxonomii
vyjimek a jednotlive tridy vyjimek peclive osetrovat na ruznych urovnich.

Problematika signalizovani a osetrovani chyb uzce souvisi s IPC
(Inter Process Communication), coz je dalsi vyznamny aspekt pri praci
v concurrent prostredi. Ale vlastnosti takoveho subsystemu jsou podstatnou
merou urceny tridou resenych uloh a na pozadavky, ktere jsou na takovy
subsystem kladeny.
IMO presahuji ramec prikladu, jak organizovat beh threadu.


HTH, pf

Vlakna - zacatky

[*] Petr Fejfar <development(zv)callnet(tec)cz> - 4.9.2004 00:13:18

Ing. Jiri Sokol wrote:

> Tohle je zrejme presne to, co potrebuju. Nebyl by ukazkovy prikladek?

Vidim, ze se k tomu nikdo nehlasi:

1. Pro tvuj problem bych volil thread, ktery bude cekat na zadost o
zpracovani.

- zadost bych implementoval semaphorem, ktery by byl atributem threadu
(semafor resi tu "frontu" pozadavku)
- exklusivitu behu threadu bych resil mutexem - protoze se nekdy muze
vyskytnout pozadavak na exklusivitu vzhledem k jine aplikaci
(treba k instalacnimu scriptu), pouzil bych obecnejsi pojmenovany mutex
jehoz jmeno bych predaval jako argument konstruktoru.
- Thread bych prerusoval/ukoncoval "ciste" pomoci dedikovane event,
ktera by byla atributem threadu

2. Protoze mas dva ruzne thready, ktere ale budou mit radu spolecnych
vlastnosti,
je na miste zapremyslet o taxonomii threadu, asi nejjednodussi by byla:

- TAbstractThread(TThread)
- TExlusiveThread(TAbstractThread)
- TIndependentThread(TAbstractThread)

Nastinil jsem ti skelet threadu v duchu, v jakem thready pouzivame, ale
zamerne jsem sloucil podstatne vlastnosti z hierarchie trid do jedine tridy.
Sam si to uz jiste rozhodis do trid podle vlastnich potreb.

3. V aplikaci vytvoris instanci threadu a zase ji explicitne zrusis
(preferuji tohle reseni s plnou kontrolou zivota threadu, protoze pri
automatickem ruseni threadu po dobehnuti metody Execute ti zbyde v nejake
promenne reference na neplatny objekt, coz muze vest k docela neprijemnym
chybam. Rovnez tak automaticke rozebehnuti threadu muze cinit zaludne
problemy). Priklad:

const
cMTX_ExlusiveThread =
'..._worldwide_unique_mutex_name_as_global_literal...';

Thread1 := TExclusiveThread.Create(cMTX_ExlusiveThread);
Thread1.Resume;
...
Thread1.NewRequest;
...
Thread1.Kill(INFINITE);
Thread1.Free;


4. Nize je skelet - psal jsem ho z hlavy, takze jsem se mohl nekde upsat,
ale podstatne chyby by v tom snad byt nemely. Vsimni si
inicializace/finalizace
threadu, ktera bezi jiz v kontextu vlastniho threadu a metody Kill,
ktera slouzi k regulernimu ukonceni threadu (kdyby Borland udelal metodu
Terminate virtualni, overridnula by se ta, ovsem neudelal, takze je nutne to
delat jinak). Cekani je dvoji: prvni WaitFor.... bez timeoutu ceka na novy
pozadavek, druhe vnorene volani na mutex s timeoutem tj. dobu, do kdy
museji skoncit ostatni thready a musi se zahajit zpracovani pozadavku. Psane
je to tak, aby se snadno daly pridavat dalsi handles, na ktere ceka:

const
maxExclusivityTimeout = 60*1000; // max. time [ms] the mutex has to be
grabbed

type
eWaitHandles = (ewhKill,ewhRequest);
eGrabHandles = (eghKill,eghExclusivity);
type
xInternal = class(Exception);
xFatal = class(Exception);

type
TExclusiveThread = class(TThread)
private
procedure __Body;
procedure __ProcessRequest;
protected
FRunning: boolean;
FKillEvent: THandle;
FWaitHandles: array[eWaitHandles] of THandle;
FGrabHandles: array[eGrabHandles] of THandle;
FMutexName: ANSIString;
protected
procedure _Init; virtual;
procedure _Done; virtual;
function _GrabMutex(ATimeout:dword): boolean;
public
constructor Create(const AMutexName:ANSIString);
procedure Execute; override;
procedure NewRequest;
function Kill(ATimeout:dword): boolean;
public
property Running: boolean read FRunning;
end;

constructor TExclusiveThread.Create(const AMutexName:ANSIString);
begin
inherited Create(TRUE);
FreeOnTerminate := FALSE;
FMutexName := AMutexName;
end;

procedure TExclusiveThread.Execute;
begin
_Init;
FRunning := TRUE;
try
while not Terminated do
try
__Body;
except
on E:xFatal do
raise;
end;
finally
FRunning := FALSE;
_Done;
end;
end;

procedure TExclusiveThread.NewRequest;
begin
if FWaitHandles[ewhRequest]<>0 then
ReleaseSemaphore(FWaitHandles[ewhRequest],1,nil);
end;

function TExclusiveThread.Kill(ATimeout:dword): boolean;
begin
if FKillEvent<>0 then
SetEvent(FKillEvent);
Terminate;
case WaitForSingleObject(Handle,ATimeout) of
WAIT_TIMEOUT: Result := FALSE;
else Result := TRUE;
end;
end;

procedure TExclusiveThread._Init;
begin
FKillEvent := CreateEvent(nil,bManualReset,bNonSignaled,'');
if FKillEvent=0 then
RaiseLastOSError;
//
FWaitHandles[ewhKill] := FKillEvent;
FWaitHandles[ewhRequest] := CreateSemaphore(nil,0,maxint,'');
if FWaitHandles[ewhRequest]=0 then
RaiseLastOSError;
//
FGrabHandles[eghKill] := FKillEvent;
FGrabHandles[eghExclusivity] := CreateMutex(nil,FALSE,pChar(FMutexName));
if FGrabHandles[eghExclusivity]=0 then
RaiseLastOSError;
end;

procedure TExclusiveThread.__Body;
var
WxRes: dword;
begin
WxRes :=
WaitForMultipleObjects(ord(high(FWaitHandles))-ord(low(FWaitHandles))+1,addr
(FWaitHandles),FALSE,INFINITE);
case WxRes of
WAIT_FAILED:
begin
RaiseLastOSError;
end;
WAIT_TIMEOUT:
begin
raise xInternal.Create('....'); // may not occur
end;
WAIT_OBJECT_0+ord(ewhKill):
begin
exit;
end;
WAIT_OBJECT_0+ord(ewhRequest):
begin
if _GrabMutex(maxExclusivityTimeout) then
try
__ProcessRequest;
finally
Win32Check(ReleaseMutex(FGrabHandles[eghExclusivity]));
end
else if not Terminated then
raise xInternal.Create('.....');
end;
WAIT_ABANDONED_0..WAIT_ABANDONED_0+ord(high(FWaitHandles)):
raise xInternal.CreateFmt('....',[WxRes-WAIT_ABANDONED_0]);
else
raise xInternal.CreateFmt('....',[WxRes]);
end;
end;

function TExclusiveThread._GrabMutex(ATimeout:dword): boolean;
var
WxRes: dword;
begin
Result := FALSE;
WxRes :=
WaitForMultipleObjects(ord(high(FGrabHandles))-ord(low(FGrabHandles))+1,addr
(FGrabHandles),FALSE,ATimeout);
case WxRes of
WAIT_FAILED:
RaiseLastOSError;
WAIT_TIMEOUT:
;
WAIT_OBJECT_0+ord(eghKill):
;
WAIT_OBJECT_0+ord(eghExclusivity):
Result := TRUE;
WAIT_ABANDONED_0..WAIT_ABANDONED_0+ord(high(FGrabHandles)):
raise xInternal.CreateFmt('....',[WxRes-WAIT_ABANDONED_0]);
else
raise xInternal.CreateFmt('...');[WxRes]);
end;
end;


procedure TExclusiveThread._Done;
begin
if FKillEvent<>0 then
CloseHandle(FKillEvent);
//
if FWaitHandles[ewhRequest]<>0 then
CloseHandle(FWaitHandles[ewhRequest]);
//
if FGrabHandles[eghExclusivity]<>0 then
CloseHandle(FGrabHandles[eghExclusivity]);
end;

procedure TExclusiveThread.__ProcessRequest;
begin
end;


HTH, pf


KAdao

[*] Jan Novak <delfin4(zv)volny(tec)cz> - 3.9.2004 21:31:07

> pouziva nekdo KAdao pro mdb? potreboval bych obcas poradit..

ja, ale moje reakcni doba je cca tyden

> pise, ze field Pozice v tabulce neni (pritom v dbgridu je videt):

Kdyz to pise, tak to asi bude pravda. Co tak projet v cyklu for i:=0
to TFields.Count vsechny TField[i] a vypsat TField[i].FieldName ? Ten
text, co se ukazuje v gridu, je TField[i].DisplayName a muze byt jiny!

Nejlepsi to bude udelat v tom miste programu, kde pristup k fieldu
generuje chybu. A zacal bych vypsanim toho Count-u...

Kontrola vytaceneho spojeni II

[*] Jan Novak <delfin4(zv)volny(tec)cz> - 3.9.2004 21:17:03

>> A muze se stat, ze by se zmenilo cislo bez toho, aby
>> se manipulovalo s timto souborem?

> Ruku do ohne za to nedam, ale asi ne. Ja jsem to kdysi nekde
> vycetl jako moznost jak zabranit zmene vytacenych spojeni,
> proste nastavit tenhle soubor jako read only.

:-)

Kdokoliv muze kdykoliv do modemu odeslat ATDT<nejake drahe cislo> a
vubec ho nemusi zajimat zadne soubory nebo ActiveX. Uplne nejlepsi
ochrana je hardwarove blokovani na ustredne.

Jinak, dneska uz je dial-up stejne pomalu mrtva zalezitost.

DLL pracuje s objekty v nalinkovane aplikaci

[*] Petr Vones <konference(zv)petrvones(tec)net> - 3.9.2004 17:06:45

From: <vponecha(zv)volny(tec)cz>
> mel bych otazku. Mam knihovnu, ktera je nalinkovana do aplikace.
> Jak postupovat, kdyz mam nejake funkce v knihovne, ktere
> pouzivaji objekty z formulare aplikace?

Nemuzes predavat objekty mezi aplikaci a DLL. Musis pouzit balicky.

Petr Vones

Chyba zaokrouhleni - ROUND

[*] Lstiburek Pavel <lstiburek(zv)ceb(tec)cz> - 3.9.2004 16:32:42

Vrat sobotales. Nula se predci nezaokrouhluje !

From: Ing. Igor Kapoun
A co NULA? NULA je prece taky cislo! Ja myslim, ze kdyz 01234 slo dolu a
56789 nahoru, tak je to statisticky OK, ne?

Igor

Chyba zaokrouhleni - ROUND

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

Puvodni zprava ze dne 3.9.2004:

> A co NULA? NULA je prece taky cislo! Ja myslim, ze kdyz 01234 slo
> dolu a 56789 nahoru, tak je to statisticky OK, ne?

Jo, jo, je to tak, nula se zaokrouhluje na -1, takze ROUND(15.0) = 14
:-)

Petr Zahradnik, pocitacovy expert

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


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

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

proc nejde z DBgridu precist text?

[*] Martin Zatecka <zatecka(zv)systemart(tec)cz> - 3.9.2004 16:06:40

Mas nad KADaoTable2 definovano, ze ty sloupecky tam jsou?
Pokud se nemylim, tak pokud to tam neni, tak to hlasi tohle.

M. Za.

----- Original Message -----
From: "Lahoda Radek" <lahodar(zv)uniplet(tec)cz>
To: <delphi-l(zv)clexpert(tec)cz>
Sent: Friday, September 03, 2004 12:42 PM
Subject: proc nejde z DBgridu precist text?> zdravim,
> pouziva nekdo mdb? potreboval bych obcas poradit..
>
> nejde mi toto, pise ze field Pozice v tabulce neni (pritom v dbgridu je
> videt):
> Spozice := KADaoTable2.FieldByName('Pozice').AsString;
>
> nejde to ani takto:
> //Spozice := DBGrid1.Columns.Items[0].Field.AsString;
> //Spozice := KADaoTable2.FieldValues['Pozice'];
> //Spozice := DBGrid1.Datasource.Dataset.FieldByName('Pozice').AsString;
>
>
>
> definici table mam v create jako v prikladu
> //table systemy
> if KADaoDatabase2.Connected Then KADaoDatabase2.Connected:=False;
> //reset
> KADaoDatabase2.Connected:=True;
> KADaoTable2.QueryDefParameters.Clear;
> KADaoTable2.QueryDefName:='';
> KADaoTable2.TableName:='';
> KADaoTable2.SQL.Clear;
> sql := 'Select Pozice,Konektor,Deska from systemy';
> KADaoTable2.SQL.Add(sql);
> KADaoTable2.Active:=True;
> Datasource2.DataSet:=KADaoTable2;
> DBGrid1.DataSource:=Datasource2; //nelze menit
>
> mam jeste CtrlGrid, v nem to funguje dobre, proc ne v dbgridu?!?
>
> dekuji za rady
> R.Lahoda
>
>
>
>
>

Chyba zaokrouhleni - ROUND

[*] Ing. Igor Kapoun <igor.kapoun(zv)volny(tec)cz> - 3.9.2004 16:22:41

> Ahoj,
> to s tim nema nic spolecneho, nazev "Banker's" neznamena ze algoritnus je
v bankach pouzivan.
> Tento algoritmus pouze zajistuje, ze nahoru a dolu se zaokrouhluje stejne
casto (se stejnou pravdepodobnosti).
> Cislic je lichy pocet: 1234 -> zaokrouhleni dolu, 56789 -> zaokrouhleni
nahoru. To muze vest k statisticky vyznamnym odchylkam, proto nova definice
doporucuje pouzivat algoritmus "Banker's Rounding".
> Duvod je ciste matematicky, to ze to nekde chteji jinak znamena, ze se
ridi zakony lidskymi a ty nemaji s prirodnimi mnoho spolecneho.

A co NULA? NULA je prece taky cislo! Ja myslim, ze kdyz 01234 slo dolu a
56789 nahoru, tak je to statisticky OK, ne?

Igor


DLL pracuje s objekty v nalinkovane aplikaci

[*] delphin(zv)post(tec)cz - 3.9.2004 16:06:40

> mel bych otazku. Mam knihovnu, ktera je nalinkovana do aplikace.
> Jak postupovat, kdyz mam nejake funkce v knihovne, ktere
> pouzivaji objekty z formulare aplikace?
>
> Fakta:
> - Mam fromular Form1
> - na formulari mam objekt TPanel
> - v nalinkovane knihovni mam funkci, ktera ma TPanel z formu
> treba presunout a zmensit.
>
> Predpokladam, ze musim znad hadle applikace, formu i Tpanelu. Ale
> co dal? Kopnete me, prosim. Musim tento problem vyresit o vikendu.

Proc ho DLL primo nepredat nejak takhle:

procedure DelejNeco(Form:TForm;Panel:TPanel);

DLL pracuje s objekty v nalinkovane aplikaci

[*] Petr Brant <brant(zv)dcomm(tec)cz> - 3.9.2004 16:16:41

Tipoval bych to na funkci SetWindowPos. Podrobny popis v PDF zasilam na
soukromy mail.

RNDr. Petr Brant [brant(zv)dcomm(tec)cz]
http://brant.wz(tec)cz <http://brant.wz(tec)cz>

> Mam knihovnu, ktera je nalinkovana do aplikace.
> Jak postupovat, kdyz mam nejake funkce v knihovne, ktere
> pouzivaji objekty z formulare aplikace?
>
> Fakta:
> - Mam fromular Form1
> - na formulari mam objekt TPanel
> - v nalinkovane knihovni mam funkci, ktera ma TPanel z formu
> treba presunout a zmensit.
>
> Predpokladam, ze musim znad hadle applikace, formu i Tpanelu. Ale
> co dal?

DLL pracuje s objekty v nalinkovane aplikaci

[*] vponecha(zv)volny(tec)cz - 3.9.2004 15:56:39

Zdar panove,

mel bych otazku. Mam knihovnu, ktera je nalinkovana do aplikace.
Jak postupovat, kdyz mam nejake funkce v knihovne, ktere
pouzivaji objekty z formulare aplikace?

Fakta:
- Mam fromular Form1
- na formulari mam objekt TPanel
- v nalinkovane knihovni mam funkci, ktera ma TPanel z formu
treba presunout a zmensit.

Predpokladam, ze musim znad hadle applikace, formu i Tpanelu. Ale
co dal? Kopnete me, prosim. Musim tento problem vyresit o vikendu.


Diky,

Vl.

WINNT Autentizace

[*] Ludek ZITA <konference(zv)sales(tec)cz> - 3.9.2004 15:36:37

On Behalf Of Lstiburek Pavel

> DB WINNT autentizaci. Jak to udelat pri pristupu z IE ? Jak
> dokazu zjistit kdo je na druhe strane ?
> Potreboval bych nejak postrcit k nejakemu zdroji informaci nebo napad.

Ahoj.
To hodne zalezi na konfiguraci IIS. To muze pristupovat bud s pravy
volajiciho uzivatele nebo s pravy IUSR_[ComputerName] nebo jeste lze
nastavit uzivatele pro jednotlive virtualni adresare.

Ludek


Zjisteni stavu tiskarny

[*] Fitz Ladislav <ladislav.fitz(zv)kodytek(tec)cz> - 3.9.2004 13:52:21

zkus se podivat na www.volny(tec)cz\maxi_fikus mam unity pro tisky stahni si
NewPrint (jeste neni upne hotova) a tam si najdi metodu GetStatus - nemam to
jeste plne otestovano ale melo by ti to pomoct

mimochodem je tam i dosovsky tisk pres jakysi driver (textovy soubor s
ridicima kodam)

> Netusite nekdo, jak se da zjistit stav tiskarny, tj. OffLine,
> OutOfPaper apod. pod Win2k?
> Pres TPrint to nejde, pres WinAPI funkci GetPrinter taky ne, BIOS
> sluzby se nedaji pouzit.
> Diky za kazdy napad.

prehravani video sekvenci

[*] Ing. Jan Kuchar PhD. <kuchar(zv)unicodesys(tec)cz> - 3.9.2004 14:08:31

cau,

v komponente mediaplayeru muzu nastavit do vlastnosti display jednu
komponentu panelu, v ktere bude probihat prehravani videa. Existuje zpusob
jak prehravat video ve vice panelech soucasne ?

DIK

Kodova stranka v TDBF komponente

[*] delphi(zv)mjsoft(tec)cz - 3.9.2004 13:42:20

Zdravim,

pouzivam v Delphi5 komponentu tDBF v6.36. Potrebuji vytvorit tabulku s
cestinou Win1250. Zjistil jsem, ze se kodovani bere z Windows a nejde
bohuzel nastavit primo na komponente. Zakaznik ma pobocku v Polsku s
Windoxs XP(polskymi) a znakova stranka tam je samozrejme polska. Nevite
nekdo jak nastavit tu komponentu, aby vzdy pracovala ve Win1250, nebo
jak v programu nastavit natvrdo kodovani na Win1250?

Diky predem

Karel


Vlakna - zacatky

[*] Petr Fejfar <development(zv)callnet(tec)cz> - 3.9.2004 13:38:19

Ing. Jiri Sokol wrote:

> Tohle je zrejme presne to, co potrebuju. Nebyl by ukazkovy prikladek?
> No snda nechci moc... nevim... Stejne diky aspon za nakopnuti, timhle
> se budu chtit ubirat... Jirka

Kdyz tak vecer (v noci), ted musim odjet.

pf


Vlakna - zacatky

[*] Ondrej Kelle <o.kelle(zv)digitalpublishing.de> - 3.9.2004 13:32:18

Borland pred nejakou dobou vyhlasil sutaz o multithreaded aplikaciach,
vysledky tej sutaze najdes tu:
http://bdn.borland.com/article/0,1410,29786,00.html
Myslim, ze je to celkom dobry material na studium.

Jeden z ucastnikov napisal aj clanok, kde svoj (vitazny) prispevok popisuje:
http://www.thedelphimagazine.com/samples/1712/1712.htm
Je v nom zaujimave to, ako na updatovanie VCL v hlavnom threade nepouziva
Synchronize, ale PostMessage.

HTH
TOndrej

Vlakna - zacatky

[*] Ing. Jiri Sokol <js-delphi(zv)email(tec)cz> - 3.9.2004 13:28:18

> Od: Petr Fejfar <development(zv)callnet(tec)cz>
> Datum: 03.09.2004 13:14:45

> > if nebezi vlakno2 a nebezi ani vlakno 1 then
> > Vlakno1.Execute;
>
> Kdyz vezmu tuhle podminku, tak sice rika, ze thready nepobezi soucase,
> ale na druhou stranu se muze stat, ze perioda spousteni threadu muze znacne
> "kulhat" - hypoteticky se nektery ze threadu nemusi spoustet vubec. Takze je
> nutne specifikovat, jestli ti to tak staci nebo jestli pozadujes, aby
> jakmile jeden thread skonci se spustil ten druhy, i kdyz se zpozdenim apod.

Na tom je hodne pravdy - ;o) budu si asi muset udelat nejakou "frontu" udalosti... aby nebezelo jenom jedno to vlakno...

> To zalezi prave na zadani - casto se thread vytvori a spusti a pak v tele
> metody Execute ceka pomoci funkce WaitForSingleObject/WaitForMultipleObjects
> na stav nejakeho synchronizacniho prostredku (event, semaphore apod), ktery
> ho "vzbudi", thread udela co ma a vrati se do stavu cekani - tedy obsahuje
> cyklus. Takto se typicky resi akce, ktere se periodicky opakuji.

Tohle je zrejme presne to, co potrebuju. Nebyl by ukazkovy prikladek? No snda nechci moc... nevim... Stejne diky aspon za nakopnuti, timhle se budu chtit ubirat...
Jirka
--------------------------------------------------
Ing. Jiri Sokol; jiri.sokol(zv)seznam(tec)cz; 972 231 187
D6Prof+SP3; WinXPProf+SP1; FB 1.5.0
programator amater

Maska u QReportu - datum

[*] Karel Halamasek <compro(zv)vol(tec)cz> - 3.9.2004 13:02:16

Primo v Table si urci Display Format takto: dd/mm/yyyy

Karel Halamasek

> Ahoj,
>
> muzete mi prosim poradit ?
> V reportu bych rad mel datum ve tvaru DD.MM.YYYY. Co mam napsat do MASKY
> u TQRExpr ?
>
> Diky
>
> Vasek
>
>
>
--
Preji hezky den.
Karel Halamasek COMPRO

Zjisteni stavu tiskarny

[*] Jiri Virt <virt(zv)volny(tec)cz> - 3.9.2004 12:54:15

To preci obhospodaruje fronta tiskarny,ne?

Jinak vzal prvni ulohu ve fronte tiskarny a podle ni se da zjistit stav

EnumJobs
GetJob

JOB_STATUS_DELETING
JOB_STATUS_ERROR
JOB_STATUS_OFFLINE
JOB_STATUS_PAPEROUT
JOB_STATUS_PAUSED
JOB_STATUS_PRINTED
JOB_STATUS_PRINTING
JOB_STATUS_SPOOLING


Pokud chces zjistit stav tiskarny predem tak

SetPort viz PORT_INFO_3

Jinak asi WritePrinter a GetlastError vrati nejaky ten chybovy kod

Jirka Virt


proc nejde z DBgridu precist text?

[*] Lahoda Radek <lahodar(zv)uniplet(tec)cz> - 3.9.2004 12:42:13

zdravim,
pouziva nekdo mdb? potreboval bych obcas poradit..

nejde mi toto, pise ze field Pozice v tabulce neni (pritom v dbgridu je
videt):
Spozice := KADaoTable2.FieldByName('Pozice').AsString;

nejde to ani takto:
//Spozice := DBGrid1.Columns.Items[0].Field.AsString;
//Spozice := KADaoTable2.FieldValues['Pozice'];
//Spozice := DBGrid1.Datasource.Dataset.FieldByName('Pozice').AsString;
definici table mam v create jako v prikladu
//table systemy
if KADaoDatabase2.Connected Then KADaoDatabase2.Connected:=False;
//reset
KADaoDatabase2.Connected:=True;
KADaoTable2.QueryDefParameters.Clear;
KADaoTable2.QueryDefName:='';
KADaoTable2.TableName:='';
KADaoTable2.SQL.Clear;
sql := 'Select Pozice,Konektor,Deska from systemy';
KADaoTable2.SQL.Add(sql);
KADaoTable2.Active:=True;
Datasource2.DataSet:=KADaoTable2;
DBGrid1.DataSource:=Datasource2; //nelze menit

mam jeste CtrlGrid, v nem to funguje dobre, proc ne v dbgridu?!?

dekuji za rady
R.Lahoda

Zjisteni stavu tiskarny

[*] jtomas(zv)ebanka(tec)cz - 3.9.2004 12:42:13

Netusite nekdo, jak se da zjistit stav tiskarny, tj. OffLine, OutOfPaper
apod. pod Win2k?
Pres TPrint to nejde, pres WinAPI funkci GetPrinter taky ne, BIOS sluzby se
nedaji pouzit.
Diky za kazdy napad.

Vlakna - zacatky

[*] Petr Fejfar <development(zv)callnet(tec)cz> - 3.9.2004 13:08:17

Ing. Jiri Sokol wrote:

> ale zajimalo by me, kdy vytvorit thread, jestli mam volat execute z
> nejakeho timeru, co na to synchronizace atd.
> Verim, ze lidem, co budou po me zacinat s thready to hodne pomuze.

Nejdriv by to chtelo upresnit zadani: pises, co se nesmi, ale nepises, co
se ma ;-)

> if nebezi vlakno2 a nebezi ani vlakno 1 then
> Vlakno1.Execute;

Kdyz vezmu tuhle podminku, tak sice rika, ze thready nepobezi soucase,
ale na druhou stranu se muze stat, ze perioda spousteni threadu muze znacne
"kulhat" - hypoteticky se nektery ze threadu nemusi spoustet vubec. Takze je
nutne specifikovat, jestli ti to tak staci nebo jestli pozadujes, aby
jakmile jeden thread skonci se spustil ten druhy, i kdyz se zpozdenim apod.

> Vlakno1.Execute;

Tohle je jedna z hrubek, ktera se casto dela - kdybys to napsal takto, tak
ti kod v metode Execute stale pobezi v contextu volajiciho tj. hlavniho
threadu.

Thread se nespousti volanim jeho metody execute, ale rozebehne se bud
automaticky, pokud konstruktoru nedas parametr CreateSuspended a nebo
explicitne volanim metody Resume.

> jak je to s behem vlakna? Kdyz zavolam jeho procedure Execute, tak
> bezi jako klasicky kod a nebo po dobehnuti do konce jede aut. od
> zacatku? (to je asi blbost, co?)

To zalezi prave na zadani - casto se thread vytvori a spusti a pak v tele
metody Execute ceka pomoci funkce WaitForSingleObject/WaitForMultipleObjects
na stav nejakeho synchronizacniho prostredku (event, semaphore apod), ktery
ho "vzbudi", thread udela co ma a vrati se do stavu cekani - tedy obsahuje
cyklus. Takto se typicky resi akce, ktere se periodicky opakuji.
Jednorazeove ulohy se zpravidla resi vytvorenim threadu a jeho zrusenim po
provedeni ulohy.


HTH, pf

Vlakna - zacatky

[*] Jiri Virt <virt(zv)volny(tec)cz> - 3.9.2004 13:06:16


>- co se dela v metode Create toho vlakna?

var

SecondProcess TMyThread; { TMyThread is a custom descendant of TThread }
begin
SecondProcess := TMyThread.Create(True); { create suspended -
secondprocess does not run yet }
SecondProcess.Priority = tpLower; { set the priority to lower than normal
}
SecondProcess.Resume; { now run the thread }
end;

> - jak se spravne synchronizuje - potreboval bych z toho vlakna hazet neco
do Edit1.Text na Form - metodu synchronize volam presne kdy?

procedure TMyThread.PushTheButton;

begin
Button1.Click();
end;

procedure TMyThread.Execute;
begin
...
Synchronize(PushTheButton);
...
end;>- v Create vlakna mam vytvorit samotnou TIBDatabase + TIBTransaction +
TIBQuery? Muzu nejak kopirovat nastaveni hodnot z komponent, ktere to uz
maji nastavene v DataModulu? Jak?

Muzes zkopirovat

procedure TMyThread.Execute;
begin
...
IBThDatabase := MyIBDatabase;
...
end;>- jak je to s behem vlakna? Kdyz zavolam jeho procedure Execute, tak bezi
jako klasicky kod a nebo po dobehnuti do konce jede aut. od zacatku? (to je
asi blbost, co?)


Ne .. Dojede a pokud to nemas v while nebo for cyklu, tak se I thread ukonci



Vsech to mam vytahnute z helpu, mrkni tam, je tam u kazdeho vyrazu k threadu
ukazka (exampl) a pekne vysvetleno

Jirka Virt


Vektorova grafika v CLX

[*] Pavol Stugel, NETGraphics <palo(zv)netgraphics.sk> - 3.9.2004 12:16:11

ddw je balast, skus radsej vygooglit "SVG library for delphi" ...> TImage umi wmf/emf (wmf je format 16 bit windows, pouzivej emf)
... si pozri, ze chcel pre CLX nie pre VCL .. a CLX je dost orezane co sa
QGraphics unitu tyka ...
>
> TImage.Picture.Assign(EMF1)

vo VCL je nacitavanie WMF/EMF riesene pomocou sys. cals takze
to tam nema ...
palo


Synapse a HTTPS

[*] Lukas Gebauer <gebylist(zv)mlp(tec)cz> - 3.9.2004 12:16:11

> nemohl by mi nekdo poradit, jakym zpusobem se pracuje s vyse uvedenym.
> Potrebuje provest post a pote nasledne prijmout odpoved.

Pouzij to uplne stejne, jako kdyby slo jen o normalni HTTP. Jen musis
mit DLL od OpenSSL umistene tak, aby je tva aplikace videla, a pak uz
staci pouzit 'https://.." v URL.

--
Lukas Gebauer.

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

Problem s TImage

[*] Robert Fujak <robof(zv)inmail.sk> - 3.9.2004 12:16:11

Zdravim.

Neviem preco, ale v navrhu mojej app sa mi (neviem preco) daju do TImage
(resp TQRImage) vkladat iba obrazky *.gif a *.png
Ked vytvorim novu app, tak mozem vkladat vsetky formaty
Neviete kde sa stala chyba?

Dik Robo.

Vlakna - zacatky

[*] Ing. Jiri Sokol <js-delphi(zv)email(tec)cz> - 3.9.2004 12:54:14

> [mailto:delphi-l-owner(zv)clexpert(tec)cz] On Behalf Of Jiri Virt
> Sent: Friday, September 03, 2004 12:14 PM
>
> Tohle je v helpu D5. mohlo by to byt to co potrebujes?
>

Ahoj.
Je to asi z vetsi casti to co potrebuju. Nicmene tam nebyly jeste odpovedi na otazky synchronizace a dalsi:
- co se dela v metode Create toho vlakna?
- jak se spravne synchronizuje - potreboval bych z toho vlakna hazet neco do Edit1.Text na Form - metodu synchronize volam presne kdy?
- v Create vlakna mam vytvorit samotnou TIBDatabase + TIBTransaction + TIBQuery? Muzu nejak kopirovat nastaveni hodnot z komponent, ktere to uz maji nastavene v DataModulu? Jak?
- jak je to s behem vlakna? Kdyz zavolam jeho procedure Execute, tak bezi jako klasicky kod a nebo po dobehnuti do konce jede aut. od zacatku? (to je asi blbost, co?)

- musim si dat jeste bacha na neco?

Diky
Jirka
--------------------------------------------------
Ing. Jiri Sokol; jiri.sokol(zv)seznam(tec)cz; 972 231 187
D6Prof+SP3; WinXPProf+SP1; FB 1.5.0
programator amater

Maska u QReportu - datum

[*] Lstiburek Pavel <lstiburek(zv)ceb(tec)cz> - 3.9.2004 12:52:14

Mam dojem, ze v pripade datumu je maska ignorovana.

Pavel

From: LUKES Vaclav [mailto:lukes(zv)ans(tec)cz]
muzete mi prosim poradit ?
V reportu bych rad mel datum ve tvaru DD.MM.YYYY. Co mam napsat do MASKY u TQRExpr ?

Maska u QReportu - datum

[*] LUKES Vaclav <lukes(zv)ans(tec)cz> - 3.9.2004 12:10:10

Ahoj,

muzete mi prosim poradit ?
V reportu bych rad mel datum ve tvaru DD.MM.YYYY. Co mam napsat do MASKY u TQRExpr ?

Diky

Vasek


Synapse a HTTPS

[*] Ing. Radek Tomsik <radek(zv)tomsige(tec)cz> - 3.9.2004 12:22:12

HTTPS := THTTPSend.Create;
if HTTPS.HttpMethod('POST','https://www.neco(tec)cz') then
begin
//prisla odpoved
for i := 0 to HTTPS.Headers.Count - 1 do
begin
// precti si hlavicky
end;
// zde muzes precist property Dokument : TMemoryStream, ve ktere
mas vlastni odpoved serveru, ktera te zajima
end
else begin
// odpoved neprisla - timeout
end;
HTTP.Free;


Pokud potrebujes nastavovat nejake user a password atd. precti si
manual, hledej v unite httpsend.pas, tridu THTTPSend. Doporucuji
stahnout nejnovejsi verzi Synapse, sam jsem nedavno timto vyresil
problem, jak poslat na server username a password, proste pan Gebauer do
Synapse pridelal (mimo jine) dve properties, ktere se mi zrovna hodily
:O))

Mej se Radek

-----Original Message-----
From: delphi-l-owner(zv)clexpert(tec)cz [mailto:delphi-l-owner(zv)clexpert(tec)cz] On
Behalf Of Jiri DAVID
Sent: Friday, September 03, 2004 11:36 AM
To: delphi-l(zv)clexpert(tec)cz
Subject: Synapse a HTTPS

Dobry den,

nemohl by mi nekdo poradit, jakym zpusobem se pracuje s vyse uvedenym.
Potrebuje provest post a pote nasledne prijmout odpoved.

Predem diky za napovedu

Jirka

D5, XP

Vektorova grafika v CLX

[*] Viktor Doubek <viktordoubek(zv)centrum(tec)cz> - 3.9.2004 12:08:09

> TImage umi wmf/emf (wmf je format 16 bit windows, pouzivej emf)
> TImage.Picture.Assign(EMF1)

No a to je prave muj problem, ze v CLX (QGraphics) zadny TMetafile neni :o(

Vlakna - zacatky

[*] Jiri Virt <virt(zv)volny(tec)cz> - 3.9.2004 12:14:10

Tohle je v helpu D5. mohlo by to byt to co potrebujes?

unit Pg1;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ComCtrls, ExtCtrls, Pg2;

const
WM_ThreadDoneMsg = WM_User + 8;

type
TForm1 = class(TForm)
ProgressBar1: TProgressBar;
ProgressBar2: TProgressBar;
Button1: TButton;
Button2: TButton;
TrackBar1: TTrackBar;
TrackBar2: TTrackBar;
Bevel1: TBevel;
Bevel2: TBevel;
Label1: TLabel;

Label2: TLabel;
Button3: TButton;
Button4: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure TrackBar1Change(Sender: TObject);
procedure TrackBar2Change(Sender: TObject);
procedure FormDestroy(Sender: TObject);

private
{ Private declarations }
MyThread1 : TMyThread; // thread number 1
MyThread2 : TMyThread; // thread number 2
Thread1Active : boolean; // used to test if thread 1 is active
Thread2Active : boolean; // used to test if thread 2 is active
procedure ThreadDone(var AMessage : TMessage); message WM_ThreadDoneMsg;
// Message to be sent back from thread when its done
public
{ Public declarations }

end;

var
Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject); // Create Thread 1
{ The thread will destroy iteself when it is done executing because
FreeOnTerminate is set to true.
The first paramter is the priority, and the second is the progressbar to
update.
}
begin
if (MyThread1 = nil) or (Thread1Active = false) then // make sure its not
already running

begin
MyThread1 := TMyThread.CreateIt(TrackBar1.Position, ProgressBar1);
Thread1Active := true;
end
else
ShowMessage('Thread still executing');
end;

procedure TForm1.Button2Click(Sender: TObject); // Create Thread 2
begin
if (MyThread2 = nil) or (Thread2Active = false) then // make sure its
not already running
begin
MyThread2 := TMyThread.CreateIt(TrackBar2.Position, ProgressBar2);

Thread2Active := true;
end
else
ShowMessage('Thread still executing');
end;

procedure TForm1.Button3Click(Sender: TObject); // Terminate Thread 1
begin
if (MyThread1 <> nil) and (Thread1Active = true) then // check to see if
it is running
MyThread1.Terminate
else
ShowMessage('Thread not started');
end;

procedure TForm1.Button4Click(Sender: TObject); // Terminate Thread 2

begin
if (MyThread2 <> nil) and (Thread2Active = true) then // check to see if
it is running
MyThread2.Terminate
else
ShowMessage('Thread not started');
end;

procedure TForm1.ThreadDone(var AMessage: TMessage); // keep track of when
and which thread is done executing
begin
if ((MyThread1 <> nil) and (MyThread1.ThreadID =
cardinal(AMessage.WParam))) then

begin
Thread1Active := false;
end;
if ((MyThread2 <> nil) and (MyThread2.ThreadID =
cardinal(AMessage.WParam))) then
begin
Thread2Active := false;
end;
end;


procedure TForm1.FormCreate(Sender: TObject); // initialize to zero
begin
Thread1Active := false;
Thread2Active := false;
end;


procedure TForm1.TrackBar1Change(Sender: TObject); // set Thread 1 Priority

begin
if (MyThread1 <> nil) and (Thread1Active = true) then
MyThread1.priority := TThreadPriority(TrackBar1.Position);
end;

procedure TForm1.TrackBar2Change(Sender: TObject); // set Thread 2 Priority
begin
if (MyThread2 <> nil) and (Thread2Active = true) then
MyThread2.priority := TThreadPriority(TrackBar2.Position);
end;


procedure TForm1.FormDestroy(Sender: TObject); // Terminate any threads
still running

begin
if (MyThread1 <> nil) and (Thread1Active = true) then
begin
MyThread1.Terminate;
MyThread1.WaitFor; // wait for it to terminate
end;
if (MyThread2 <> nil) and (Thread2Active = true) then
begin
MyThread2.Terminate;
MyThread2.WaitFor;
end;
end;

end.

Vlakna - zacatky

[*] Ing. Jiri Sokol <js-delphi(zv)email(tec)cz> - 3.9.2004 12:08:09

Ahoj panove!
Muj problem je nasledujici. Prebral jsem aplikaci, nechtelo se mi ji predelavat odznova a ted porad narazim na nejake problemy.
Co bych momentalne potreboval vyresit je tohle:
- hlavni aplikace slouzici k obsluze zprav, zobrazovani nejkych dilcich udaju atd.
- jeden nezavisly thread - ktery se bude spoustet v nejakem casovem intervalu - sam si zjisti jestli ma neco udelat provede to - do te doby se nesmi spustit dalsi thread...
- druhy thread - opet bude spusten po nejakem casovem intervalu - plati to same, co v prvnim pripade - nemusi delat nic, ale muzou mu operace zabrat i nekolik sekund - nesmi dojit k opetovnemu spusteni dalsiho threadu

to, ze nesmi dojit k opetovnemu spusteni jednotlivych threadu plati i v kombinaci mezi nimi - zkratka, kdyz uz nejaky thread bezi, nesmi bezet dalsi.

Muzete mi,prosim, pomoct vytvorit primitivni zakladni aplikaci, ktera bude splnovat vyse uvedene? Muzem si odpoustit deklaraci fromu atd., ale zajimalo by me, kdy vytvorit thread, jestli mam volat execute z nejakeho timeru, co na to synchronizace atd.
Verim, ze lidem, co budou po me zacinat s thready to hodne pomuze.

Vlakno1, Vlakno2: TThread;

procedure TForm.Create(Sender:TObject);
begin
Vlakno1:=TThread.Create(Application.Handle);
Valkno2:=TThread.Create(Application.Handle);
end;

Procedure TForm.Timer1OnTimer(Sender: TObject);
begin
if nebezi vlakno2 a nebezi ani vlakno 1 then
Vlakno1.Execute;
end;

Procedure TForm.Timer1OnTimer(Sender: TObject);
begin
if nebezi vlakno2 a nebezi ani vlakno 1 then
Vlakno2.Execute;
end;

procedure TForm.Destroy(Sender: TObject);
begin
Vlakno1.Terminate;
Vlakno1.WaitFor;
Vlakno2.Terminate;
Vlakno2.WaitFor;
end;

je to OK?
a co dal? co se dela v metode Create toho vlakna? Jak se synchronizuje - potreboval bych z toho vlakna hazet neco do Edit1.Text na Form. V Create mam vytvorit samotnou TIBDatabase + TIBTransaction + TIBQuery? Muzu nejak kopirovat nastaveni hodnot z komponent, ktere to uz maji nastavene v DataModulu? Jak? (mam namysli v souvislosti se synchronizaci - pochopitelne, ze normalne - mimo vlakno - to umim)
Musim si dat jeste bacha na neco?
Diky moc vsem a predem!
Jirka
--------------------------------------------------
Ing. Jiri Sokol; jiri.sokol(zv)seznam(tec)cz; 972 231 187
D6Prof+SP3; WinXPProf+SP1; FB 1.5.0
programator amater

Synapse a HTTPS

[*] Jiri DAVID <david(zv)csh(tec)cz> - 3.9.2004 11:36:07

Dobry den,

nemohl by mi nekdo poradit, jakym zpusobem se pracuje s vyse uvedenym.
Potrebuje provest post a pote nasledne prijmout odpoved.

Predem diky za napovedu

Jirka

D5, XP

Chyba zaokrouhleni - ROUND

[*] Lstiburek Pavel <lstiburek(zv)ceb(tec)cz> - 3.9.2004 10:52:04

Ahoj,
to s tim nema nic spolecneho, nazev "Banker's" neznamena ze algoritnus je v bankach pouzivan.
Tento algoritmus pouze zajistuje, ze nahoru a dolu se zaokrouhluje stejne casto (se stejnou pravdepodobnosti).
Cislic je lichy pocet: 1234 -> zaokrouhleni dolu, 56789 -> zaokrouhleni nahoru. To muze vest k statisticky vyznamnym odchylkam, proto nova definice doporucuje pouzivat algoritmus "Banker's Rounding".
Duvod je ciste matematicky, to ze to nekde chteji jinak znamena, ze se ridi zakony lidskymi a ty nemaji s prirodnimi mnoho spolecneho.

Pavel

> Zajimave je, ze delam pro banku a pro televize, ale ty vyzaduji algoritmus
> zaokrouhlovani "vzdy nahoru" a nikoliv jakysi "Banker's Rounding".

Vektorova grafika v CLX

[*] Vaclav Riha - Soft Consult <vaclav_riha(zv)softconsult(tec)cz> - 3.9.2004 10:52:04

>Existuje nejaky zpusob, jak do TImage dostat (nebo na canvas vytisknout) vektorovou grafiku - nejlepe wmf?


TImage umi wmf/emf (wmf je format 16 bit windows, pouzivej emf)

TImage.Picture.Assign(EMF1)


S pozdravem Vaclav Riha


Rychlost pripojeni na Firebird pres Interbase

[*] Radim Hradecky <radim.hradecky(zv)seznam(tec)cz> - 3.9.2004 10:44:03

Zabralo to.16 ms na jeden dotaz

Diky moc za pomoc
PS: A diky za trpelivost

-----Original Message-----
From: delphi-l-owner(zv)clexpert(tec)cz [mailto:delphi-l-owner(zv)clexpert(tec)cz] On
Behalf Of Slavomir Skopalik
Sent: Thursday, September 02, 2004 11:55 PM
To: delphi-l(zv)clexpert(tec)cz
Subject: Re: Rychlost pripojeni na Firebird pres Interbase

> Takze popis tabulky:
> TABLE "trzba"
> ID: integer, primary key, auto-increment
> Sluzba: varchar(50)
> Cena: float
> Datum: Timestamp
>
> SQL Dotaz:
> SELECT SUM("Cena") FROM "trzba" WHERE
> "Datum">='2004-01-01 00:00:00' AND "Datum"< '2004-02-01 00:00:00'
>
> Jako plan mi to vyhodilo toto:
> PLAN (trzba NATURAL):
> PLAN (trzba NATURAL)

Takze je to jasny, chybi ti index nad polem Datum :).
Takze nadefinuj index a bude mnohem rychlejsi :).

Slavek

Chyba zaokrouhleni - ROUND

[*] jsdelphi(zv)creatix(tec)cz - 3.9.2004 10:14:01

>Funkce Round zaokrouhluje podle metody nazvane "Banker's Rounding".

Zajimave je, ze delam pro banku a pro televize, ale ty vyzaduji algoritmus
zaokrouhlovani "vzdy nahoru" a nikoliv jakysi "Banker's Rounding".

Jan Skopovy


Vektorova grafika v CLX

[*] Viktor Doubek <viktordoubek(zv)centrum(tec)cz> - 3.9.2004 10:02:00

Existuje nejaky zpusob, jak do TImage dostat (nebo na canvas vytisknout) vektorovou grafiku - nejlepe wmf? Standardne CLX-TImage wmf neumi - jako vektorovy vypada podporovany format .ddw, ale o tom jsem nenasel nikde vubec nic. Nevite alespon o nejakem konvertoru wmf->ddw?
Diky moc za kazdou stopu. VD.

Chyba zaokrouhleni - ROUND

[*] Lstiburek Pavel <lstiburek(zv)ceb(tec)cz> - 3.9.2004 08:55:55

Ne je zaporne a tam vetsi a mensi opacne !

Sent: Friday, September 03, 2004 8:00 AM
A co u
SimpleRoundTo(-1.235, -2) = -1.23
? Je taky sude?

OT: WINNT Autentizace

[*] Lstiburek Pavel <lstiburek(zv)ceb(tec)cz> - 3.9.2004 08:49:50

Dostal jsem prokaz upravit jednu z nasich aplikaci tak aby byla pristupna z pomoci weboveho prohlizece, to celkem nebyl problem, ale cela bezpecnost vyuziva k pristupum k objektum v DB WINNT autentizaci.
Jak to udelat pri pristupu z IE ? Jak dokazu zjistit kdo je na druhe strane ?
Potreboval bych nejak postrcit k nejakemu zdroji informaci nebo napad.

Pavel

Chyba zaokrouhleni - ROUND

[*] Letal Integrodat <letal(zv)integrodat(tec)cz> - 3.9.2004 07:59:46

A co u
SimpleRoundTo(-1.235, -2) = -1.23
? Je taky sude?
mil

----- Original Message -----
From: "Michal Junasek" <mjunasek(zv)maxprocessing.com>
To: <delphi-l(zv)clexpert(tec)cz>
Sent: Thursday, September 02, 2004 11:45 PM
Subject: Re: Chyba zaokrouhleni - ROUND


>
> ----- Original Message -----
> From: "OndraG" <gebakonf(zv)centrum(tec)cz>
> To: <delphi-l(zv)clexpert(tec)cz>
> Sent: Thursday, September 02, 2004 9:40 AM
> Subject: Re: Chyba zaokrouhleni - ROUND
>
>
> > Pokud je Round (xx.5) , tak vysledek tohoto zaokrouhleni je vzdy sude
> > cislo.....
> > Viz help......
> > OndraG
> >
> > ----- Original Message ----- > nejak nerozumim tomuhle: Round(22.5) = 22
> > > Nemelo by to byt nahodou 23 ?
> > >
> >
> >
> >
>
> Funkce Round zaokrouhluje podle metody nazvane "Banker's Rounding". Kdyz
> potrebujes zaokrouhlit aritmeticky pouzij funkci SimpleRountTo z unitu
Math.
> priklad:
> SimpleRoundTo(22.5, 0) = 23
> SimpleRoundTo(1234567, 3) = 1234000
> SimpleRoundTo(1.234, -2) = 1.23
> SimpleRoundTo(1.235, -2) = 1.24
> SimpleRoundTo(-1.235, -2) = -1.23
>
>
>
>

Rychlost pripojeni na Firebird pres Interbase

[*] Slavomir Skopalik <skopalik(zv)elektlabs(tec)cz> - 2.9.2004 23:55:16

> Takze popis tabulky:
> TABLE "trzba"
> ID: integer, primary key, auto-increment
> Sluzba: varchar(50)
> Cena: float
> Datum: Timestamp
>
> SQL Dotaz:
> SELECT SUM("Cena") FROM "trzba" WHERE
> "Datum">='2004-01-01 00:00:00' AND "Datum"< '2004-02-01 00:00:00'
>
> Jako plan mi to vyhodilo toto:
> PLAN (trzba NATURAL):
> PLAN (trzba NATURAL)

Takze je to jasny, chybi ti index nad polem Datum :).
Takze nadefinuj index a bude mnohem rychlejsi :).

Slavek


Chyba zaokrouhleni - ROUND

[*] Michal Junasek <mjunasek(zv)maxprocessing(tec)com> - 2.9.2004 23:45:15


----- Original Message -----
From: "OndraG" <gebakonf(zv)centrum(tec)cz>
To: <delphi-l(zv)clexpert(tec)cz>
Sent: Thursday, September 02, 2004 9:40 AM
Subject: Re: Chyba zaokrouhleni - ROUND


> Pokud je Round (xx.5) , tak vysledek tohoto zaokrouhleni je vzdy sude
> cislo.....
> Viz help......
> OndraG
>
> ----- Original Message ----- > nejak nerozumim tomuhle: Round(22.5) = 22
> > Nemelo by to byt nahodou 23 ?
> >
>
>

Funkce Round zaokrouhluje podle metody nazvane "Banker's Rounding". Kdyz
potrebujes zaokrouhlit aritmeticky pouzij funkci SimpleRountTo z unitu Math.
priklad:
SimpleRoundTo(22.5, 0) = 23
SimpleRoundTo(1234567, 3) = 1234000
SimpleRoundTo(1.234, -2) = 1.23
SimpleRoundTo(1.235, -2) = 1.24
SimpleRoundTo(-1.235, -2) = -1.23

Chyba zaokrouhleni - ROUND

[*] Petr Zahradnik <clexpert(zv)clexpert(tec)cz> - 2.9.2004 22:57:12

Puvodni zprava ze dne 2.9.2004:

> Budu se muset nekde na ZS prihlasit na doucovani. ;)

Kasli na doucovani - na to mas pocitac...

Petr Zahradnik, pocitacovy expert

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


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

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

Chyba zaokrouhleni - ROUND

[*] Jiri Cincura <diskuze(zv)cincura(tec)net> - 2.9.2004 22:55:11

Petr Zahradnik wrote:
> Puvodni zprava ze dne 2.9.2004:
>
>>> Ve skole 23 a v pocitaci 22 :-) Uz se tu o tom mnohokrat mluvilo.
>
>> Tak to jsem nejak nepochopil. Ve svem SW to pouzivam a predpokladam,
>> ze to da spravne vysledky.
>
>> On je v tom nejaky chytak?
>
> No neni v tom chytak, jak uz ti tu nekdo napsal, cislo 5 se zaokrouhluje
> na sudou. My jsme se ve skole ucili 5 vzdy nahoru, nevim, co se uci ted,
> moje deti jeste do skoly nechodi.

Aha. Ja taky porad pamatuju 5 nahoru.

Budu se muset nekde na ZS prihlasit na doucovani. ;)

--
Jiri Cincura
e-mail: mailto:jiri(zv)cincura.net; mailto:xcincura(zv)informatics.muni(tec)cz
ICQ#: 314711544
web: http://www.cincura.net; http://photo.cincura.net

Chyba zaokrouhleni - ROUND

[*] Jiri Cincura <diskuze(zv)cincura(tec)net> - 2.9.2004 22:35:08

Petr Zahradnik wrote:
> Puvodni zprava ze dne 2.9.2004:
>
>> Zdravim,
>> nejak nerozumim tomuhle: Round(22.5) = 22 Nemelo by to byt nahodou 23
>> ?
>
> Ve skole 23 a v pocitaci 22 :-) Uz se tu o tom mnohokrat mluvilo.
>

Tak to jsem nejak nepochopil. Ve svem SW to pouzivam a predpokladam, ze to
da spravne vysledky.

On je v tom nejaky chytak?

--
Jiri Cincura
e-mail: mailto:jiri(zv)cincura.net; mailto:xcincura(zv)informatics.muni(tec)cz
ICQ#: 314711544
web: http://www.cincura.net; http://photo.cincura.net

Chyba zaokrouhleni - ROUND

[*] Petr Zahradnik <clexpert(zv)clexpert(tec)cz> - 2.9.2004 22:43:10

Puvodni zprava ze dne 2.9.2004:

>> Ve skole 23 a v pocitaci 22 :-) Uz se tu o tom mnohokrat mluvilo.

> Tak to jsem nejak nepochopil. Ve svem SW to pouzivam a predpokladam,
> ze to da spravne vysledky.

> On je v tom nejaky chytak?

No neni v tom chytak, jak uz ti tu nekdo napsal, cislo 5 se
zaokrouhluje na sudou. My jsme se ve skole ucili 5 vzdy nahoru, nevim,
co se uci ted, moje deti jeste do skoly nechodi.

Petr Zahradnik, pocitacovy expert

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


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

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

Rychlost pripojeni na Firebird pres Interbase

[*] Radim Hradecky <radim.hradecky(zv)seznam(tec)cz> - 2.9.2004 21:53:05

Takze popis tabulky:
TABLE "trzba"
ID: integer, primary key, auto-increment
Sluzba: varchar(50)
Cena: float
Datum: Timestamp

SQL Dotaz:
SELECT SUM("Cena") FROM "trzba" WHERE
"Datum">='2004-01-01 00:00:00' AND "Datum"< '2004-02-01 00:00:00'

Jako plan mi to vyhodilo toto:
PLAN (trzba NATURAL):
PLAN (trzba NATURAL)

Adapted plan:
PLAN (trzba NATURAL)

Jinak jako statistiku mam v EMS Manageru toto (doufam ze to bude stacit):
------------------------------------------------
Prepare : 0
Execute : 234
Avg fetch time: 234,00 ms

Memory
------------------------------------------------
Current: 9?322?496
Max : 9?467?992
Buffers: 2?048

Operations
------------------------------------------------
Read : 0
Writes : 4
Fetches: 32?030

Plan:
------------------------------------------------
PLAN (trzba NATURAL)

Enchanced Info:
+--------------------------+-------+-----------+---------+---------+--------
--+
| Table Name | Index | Non-Index | Updated | Deleted |
Inserted |
| | reads | reads | | |
|
+--------------------------+-------+-----------+---------+---------+--------
--+
| RDB$FIELDS| 15 | 0 | 0 | 0 |
0 |
| RDB$INDEX_SEGMENTS| 1 | 0 | 0 | 0 |
0 |
| RDB$RELATION_FIELDS| 15 | 0 | 0 | 0 |
0 |
| RDB$RELATIONS| 2 | 0 | 0 | 0 |
0 |
| RDB$RELATION_CONSTRAINTS| 1 | 0 | 0 | 0 |
0 |
| trzba| 0 | 15?456 | 0 | 0 |
0 |
+--------------------------+-------+-----------+---------+---------+--------
--+


-----Original Message-----
From: delphi-l-owner(zv)clexpert(tec)cz [mailto:delphi-l-owner(zv)clexpert(tec)cz] On
Behalf Of Slavomir Skopalik
Sent: Thursday, September 02, 2004 8:09 PM
To: delphi-l(zv)clexpert(tec)cz
Subject: Re: Rychlost pripojeni na Firebird pres Interbase

> Takze ve vysledku volam toho (toto je volani souctu trzby v
> mesici): SELECT SUM("Cena") FROM "trzba" WHERE
> ("Datum">='2004-01-01 00:00:00' AND "Datum"<='2004-01-31
> 23:59:59') Na kazdy mesic je to v prumeru 3000 zaznamu.
> Pouzivam FB 1.5.1 dialect 3

Hmm, co takle lepe popsat tu tabulku, nazev opravdu nic neresi.
Dale predpokladam, ze mas nad polem DATUM index.
a jeste bych ocekaval, ze prilozis PLAN dotazu a statistiku.
V wisql se zaskrtne volba Display Query Plan (to je udelatko
co pouzivam ja, co bylo ke kazde interbase).

Jinak ten dotaz je chybne, spravne by mel byt:

SELECT SUM("Cena") FROM "trzba" WHERE
"Datum">='2004-01-01 00:00:00' AND "Datum"< '2004-02-01 00:00:00'

Ale chyba to byla jen kosmeticka.

Slavek

Rychlost pripojeni na Firebird pres Interbase

[*] Slavomir Skopalik <skopalik(zv)elektlabs(tec)cz> - 2.9.2004 20:08:58

> Takze ve vysledku volam toho (toto je volani souctu trzby v
> mesici): SELECT SUM("Cena") FROM "trzba" WHERE
> ("Datum">='2004-01-01 00:00:00' AND "Datum"<='2004-01-31
> 23:59:59') Na kazdy mesic je to v prumeru 3000 zaznamu.
> Pouzivam FB 1.5.1 dialect 3

Hmm, co takle lepe popsat tu tabulku, nazev opravdu nic neresi.
Dale predpokladam, ze mas nad polem DATUM index.
a jeste bych ocekaval, ze prilozis PLAN dotazu a statistiku.
V wisql se zaskrtne volba Display Query Plan (to je udelatko
co pouzivam ja, co bylo ke kazde interbase).

Jinak ten dotaz je chybne, spravne by mel byt:

SELECT SUM("Cena") FROM "trzba" WHERE
"Datum">='2004-01-01 00:00:00' AND "Datum"< '2004-02-01 00:00:00'

Ale chyba to byla jen kosmeticka.

Slavek


Chyba zaokrouhleni - ROUND

[*] Petr Zahradnik <clexpert(zv)clexpert(tec)cz> - 2.9.2004 18:44:52

Puvodni zprava ze dne 2.9.2004:

> Zdravim,
> nejak nerozumim tomuhle: Round(22.5) = 22
> Nemelo by to byt nahodou 23 ?

Ve skole 23 a v pocitaci 22 :-) Uz se tu o tom mnohokrat mluvilo.

Petr Zahradnik, pocitacovy expert

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


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

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

Chyba zaokrouhleni - ROUND

[*] Jakub Dusek <delphi(zv)corexpert(tec)com> - 2.9.2004 18:32:51

Neni to matematicke zaokrouhlovani, ale statisticke. Poskytuje lepsi
statistickou presnost, protoze se 5 nezaokrouhluje vzdy nahoru.

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

======================================================================
Thursday, September 2, 2004, 3:34:33 PM, you wrote:

p> Zdravim,
p> nejak nerozumim tomuhle: Round(22.5) = 22
p> Nemelo by to byt nahodou 23 ?

p> Setkal se s tim uz nekdo nebo jsem neco nepochopil?

p> Diky Filip

p> D5Ent

Rychlost pripojeni na Firebird pres Interbase

[*] Radim Hradecky <radim.hradecky(zv)seznam(tec)cz> - 2.9.2004 18:12:50

Ok zkusim to napravit
1. Ano myslel sem IBX
2. Koukal jsem na to, ale musim se smutne priznat, ze o PLAN slysim poprve.
Trosku se prostouram v napovede, abych to trosku pochopil.
3. Je to tabulka "trzba" do niz se ukladaji jednotlive platby takze tam je
ID platby(auto increment,primery key), Nazev, Cena.

Takze ve vysledku volam toho (toto je volani souctu trzby v mesici):
SELECT SUM("Cena") FROM "trzba" WHERE ("Datum">='2004-01-01 00:00:00' AND
"Datum"<='2004-01-31 23:59:59')
Na kazdy mesic je to v prumeru 3000 zaznamu.
Pouzivam FB 1.5.1 dialect 3

Doufam ze uz jsem to poznal spravne, toto byl muj prvni prispevek do teto
diskuze :)

-----Original Message-----
From: delphi-l-owner(zv)clexpert(tec)cz [mailto:delphi-l-owner(zv)clexpert(tec)cz] On
Behalf Of Slavomir Skopalik
Sent: Thursday, September 02, 2004 4:33 PM
To: delphi-l(zv)clexpert(tec)cz
Subject: Re: Rychlost pripojeni na Firebird pres Interbase

Hlavni problem je, ze jsi skoro nic nenapsal.
1. Interbase se neumi pripojit na FB, ale predpokladam, ze jsi asi
myslel IBX.
2. Na www.dbsvet(tec)cz mi vysli nejake clanky o optimalizaci FB, mrkni se
na to
3. Lepe popis tabulku, co sumujes a za jake podminky
Dale pak jakou verzi FB pouzivas ? Doporucuji 1.5.1.

Slavek

> Mam problem s pripojenim na Firebird pomoci
> Interbase. Pripojuji se do lokalni database a delam SELECT v
> zhruba 17000 zaznamech (je to jen SUM trzby ve dni nic vic).
> Techto SELECTu delam cca 30 (sou to dny mesici). Problem je v
> tom ze vykonani kazdeho dotazu trva zhruba 350ms, coz dava v
> souctu nepeknou cifru (9 sekund na cely mesic). Prochazel sem
> diskuzi, ale s timto problemem sem se nesetkal. Priznam se ze
> vaham zda se mam snazit o nejakou optimalizaci tech dotazu a
> snizit jejich pocet nebo nejakym zpusobem urychlit to
> pripojeni (jine komponenty, nejaka jina optimalizce). S
> Firebirdem pracuji v Delphi poprve a tak nevim co od toho mam
> ceka ohledne rychlosti

ADMIN: OT: Ponuka prace

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

Puvodni zprava ze dne 2.9.2004:

> Holding AAC (www.aac.as) je v sucasnosti pokladany za jednu z
> nejuspesnejsich vlastnickych struktur na ceskom trhu informacnych
> technologii. Jednou z divizii nasich firiem je divizia informacnych
> systemov.

Nabidky prace ucastnikum konference jsou vitany a podporovany, pokud
splnuji pravidla (oznaceni OT a informaci, ze odpoved ma jit mimo
konferenci pouze e-mailem). Nicmene tato reklamni cast tu nema co
delat, toto neni informacni stredisko pro tiskove zpravy. Takze priste
ciste nabidka bez podobne propagace a zavadejicich informaci.

Petr Zahradnik, pocitacovy expert

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


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

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

Zapis do Excelu pres OLE

[*] Petr Brant <brant(zv)dcomm(tec)cz> - 2.9.2004 16:48:43

Ja pouzivam Cells a funguje to na texty i cisla, napr.

NewWorkSheet.Cells[FR + 5, FC + 1]:= 'Obdobi:';

NewWorkSheet.Cells[FR + 10, FC + 6]:= DoubleItem; //cena za vsechna MCT
aktivni cely mesic

RNDr. Petr Brant [brant(zv)dcomm(tec)cz]
http://brant.wz(tec)cz
> Provadim z D5 Profi SP1 export do Excelu ( jak v MSO 2000, tak MSO 2003).
> Pri exportovani cisla do bunky mi pak pri zobrazeni sheetu ukaze, ze je
> cislo exportovano jako text a pak s nim v excelu samozrejme nemuzu
> pracovat.....kde delam chybu? Jak muzu direktivne rict, ze exportovana
> hodnota je cislo....import do bunky delam pres property Value.

Rychlost pripojeni na Firebird pres Interbase

[*] Slavomir Skopalik <skopalik(zv)elektlabs(tec)cz> - 2.9.2004 16:32:41

Hlavni problem je, ze jsi skoro nic nenapsal.
1. Interbase se neumi pripojit na FB, ale predpokladam, ze jsi asi
myslel IBX.
2. Na www.dbsvet(tec)cz mi vysli nejake clanky o optimalizaci FB, mrkni se
na to
3. Lepe popis tabulku, co sumujes a za jake podminky
Dale pak jakou verzi FB pouzivas ? Doporucuji 1.5.1.

Slavek

> Mam problem s pripojenim na Firebird pomoci
> Interbase. Pripojuji se do lokalni database a delam SELECT v
> zhruba 17000 zaznamech (je to jen SUM trzby ve dni nic vic).
> Techto SELECTu delam cca 30 (sou to dny mesici). Problem je v
> tom ze vykonani kazdeho dotazu trva zhruba 350ms, coz dava v
> souctu nepeknou cifru (9 sekund na cely mesic). Prochazel sem
> diskuzi, ale s timto problemem sem se nesetkal. Priznam se ze
> vaham zda se mam snazit o nejakou optimalizaci tech dotazu a
> snizit jejich pocet nebo nejakym zpusobem urychlit to
> pripojeni (jine komponenty, nejaka jina optimalizce). S
> Firebirdem pracuji v Delphi poprve a tak nevim co od toho mam
> ceka ohledne rychlosti


Zapis do Excelu pres OLE

[*] Lasevic, Martin <mlasevic(zv)ratiopharm(tec)cz> - 2.9.2004 16:30:41

Zdravim a mam dotaz:
Provadim z D5 Profi SP1 export do Excelu ( jak v MSO 2000, tak MSO 2003).
Pri exportovani cisla do bunky mi pak pri zobrazeni sheetu ukaze, ze je
cislo exportovano jako text a pak s nim v excelu samozrejme nemuzu
pracovat.....kde delam chybu? Jak muzu direktivne rict, ze exportovana
hodnota je cislo......

....import do bunky delam pres property Value.

Martin

fragmentace pameti

[*] Ludvik Vlcek <l.vlcek(zv)noel-plus(tec)cz> - 2.9.2004 16:28:37

Lukas Gebauer napsal(a):
>>V aplikaci intenzivne vyuzivam objekty typu TStringList. Tyto jsou
>>dynamicky vytvareny a pak zase ruseny. Kazdy tento dynamicky tvoreny
>
>
> Zkus jednoduchy experiment, a podivej se na tenhle clanecek z WIKI
> Synapse:
>
> http://synapse.ararat(tec)cz/wiki/index.php?page=Article004
>
>
OK,
vyzkousim, dam vedet ...

Chyba zaokrouhleni - ROUND

[*] pilifs <pilifs(zv)seznam(tec)cz> - 2.9.2004 15:34:33

Zdravim,
nejak nerozumim tomuhle: Round(22.5) = 22
Nemelo by to byt nahodou 23 ?

Setkal se s tim uz nekdo nebo jsem neco nepochopil?

Diky Filip

D5Ent

Chyba zaokrouhleni - ROUND

[*] OndraG <gebakonf(zv)centrum(tec)cz> - 2.9.2004 15:40:34

Pokud je Round (xx.5) , tak vysledek tohoto zaokrouhleni je vzdy sude
cislo.....
Viz help......
OndraG

----- Original Message ----- > nejak nerozumim tomuhle: Round(22.5) = 22
> Nemelo by to byt nahodou 23 ?
>

Rychlost pripojeni na Firebird pres Interbase

[*] Radim Hradecky <radim.hradecky(zv)seznam(tec)cz> - 2.9.2004 15:44:34

Dobry den,

Mam problem s pripojenim na Firebird pomoci Interbase. Pripojuji
se do lokalni database a delam SELECT v zhruba 17000 zaznamech (je to jen
SUM trzby ve dni nic vic). Techto SELECTu delam cca 30 (sou to dny mesici).
Problem je v tom ze vykonani kazdeho dotazu trva zhruba 350ms, coz dava v
souctu nepeknou cifru (9 sekund na cely mesic). Prochazel sem diskuzi, ale s
timto problemem sem se nesetkal. Priznam se ze vaham zda se mam snazit o
nejakou optimalizaci tech dotazu a snizit jejich pocet nebo nejakym zpusobem
urychlit to pripojeni (jine komponenty, nejaka jina optimalizce). S
Firebirdem pracuji v Delphi poprve a tak nevim co od toho mam ceka ohledne
rychlosti



Diky za odpovedi


vytvareni framu, nebo formu procedurou

[*] Daniel Frantik <frantik(zv)telpro(tec)cz> - 2.9.2004 14:36:24

Ahoj,
kazdou takto vytvarenou frame musis mit registrovanou (v
initialization unity dej RegisterClass(XXX) )

Potom:
function CreateComponentByClassName(const aClassName:string;
aOwner:TComponent):TComponent;
var
Cls:TClass;
begin
Cls:=GetClass(aClassName);
if Assigned(Cls) then
Result:=TComponentClass(Cls).Create(aOwner)
else
raise Exception.CreateFmt('Class "%s" not foud in project.);
end;

> -----Original Message-----
> From: delphi-l-owner(zv)clexpert(tec)cz
> [mailto:delphi-l-owner(zv)clexpert(tec)cz] On Behalf Of delphi(zv)mjsoft(tec)cz
> lze udelat univerzalni proceduru, ktera me bude vytvaret frame, nebo
> form dle predaneho parametru? Nevim si rady s parametrem XXX
> procedure CreateFrame(Frame:TFrame,XXX);
> begin
> Frame := XXX.Create(self);
> end;

vytvareni framu, nebo formu procedurou

[*] Pavel Benacek <pavel.benacek(zv)cegedim(tec)com> - 2.9.2004 14:48:25

On Thu, 2 Sep 2004 14:20:23 +0200, <delphi(zv)mjsoft(tec)cz> wrote:

> Zdravim,
>
> lze udelat univerzalni proceduru, ktera me bude vytvaret frame, nebo
> form dle predaneho parametru? Nevim si rady s parametrem XXX viz. dole.
>
> nyni to mam takto:
>
> begin
> if ....
> MujFrame1 := TMujFrame1.Create(self);
>
> if ....
> MujFrame2 := TMujFrame2.Create(self);
> end;
>
>
> moje predstava je:
>
> procedure CreateFrame(Frame:TFrame,XXX);
> begin
> Frame := XXX.Create(self);
> end;
>
> begin
> if ....
> CreateFrame(MujFrame1,XXX);
>
> if ....
> CreateFrame(MujFrame2,XXX);
> end;
>
> Diky predem Karel
>

Ahoj, ja bych to delal asi nasledovne, tedy pokud jsem to spravne pochopil:

type
TFrameClass = class of TFrame;

function CreateFrame(const FrameClassname: ShortString): TFrame;
var
FrameClass: TFrameClass;
begin
FrameClass := TFrameClass(FindClass(FrameClassname));
Result := FrameClass.Create(nil);
end;

vytvareni framu, nebo formu procedurou

[*] delphi(zv)mjsoft(tec)cz - 2.9.2004 14:20:23

Zdravim,

lze udelat univerzalni proceduru, ktera me bude vytvaret frame, nebo
form dle predaneho parametru? Nevim si rady s parametrem XXX viz. dole.

nyni to mam takto:

begin
if ....
MujFrame1 := TMujFrame1.Create(self);

if ....
MujFrame2 := TMujFrame2.Create(self);
end;
moje predstava je:

procedure CreateFrame(Frame:TFrame,XXX);
begin
Frame := XXX.Create(self);
end;

begin
if ....
CreateFrame(MujFrame1,XXX);

if ....
CreateFrame(MujFrame2,XXX);
end;


Diky predem Karel


fragmentace pameti

[*] Lukas Gebauer <gebylist(zv)mlp(tec)cz> - 2.9.2004 13:10:13

> V aplikaci intenzivne vyuzivam objekty typu TStringList. Tyto jsou
> dynamicky vytvareny a pak zase ruseny. Kazdy tento dynamicky tvoreny

Zkus jednoduchy experiment, a podivej se na tenhle clanecek z WIKI
Synapse:

http://synapse.ararat(tec)cz/wiki/index.php?page=Article004


--
Lukas Gebauer.

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

QREPORT a composite

[*] mato <mato.tino(zv)inmail.sk> - 2.9.2004 13:34:15

zdravim,
D7
pokusam sa urobit compsite report v QuickReport. Mam dve formy s obycajnymi
Qreportami a treti kde mam komponentu QRCompositeReport. Do udalosti tejto
componenty -OnAddReport som dal kod

QRCompositeReport1.Reports.Add(QR1.QR_1);
QRCompositeReport1.Reports.Add(QR2.QR_2);

potom na buton som dal QRComposite.preview.
Ale ukaze sa mi iba cisty list. Ked som dal krokovat tak do udalosti
OnAddReport sa ani nedostanem. V com moze byt problem? Pozrel som demo v
delphi ale nie som mudrejsi.

Formulare s vlastni ikonou

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

From: "Lebeda David" <david.lebeda(zv)comarr(tec)cz>
> CreateIcon. Vznikne chyba EOutOfSystemResources s nejakym nesmyslnym popisem

Kolik barev ma ta ikona ?

Petr Vones


fragmentace pameti

[*] Petr Vones <konference(zv)petrvones(tec)net> - 2.9.2004 12:42:10

From: "Ludvik Vlcek" <l.vlcek(zv)noel-plus(tec)cz>
> Nejdriv jsem myslel, ze se mi nekde "vyrabim" memory leak.
> (Snad)Nevyrabim. Po urcite dobe nastane, ze se aplikace zakousne a hlasi
> ze neni zadna dostupma pamet. Pritom spravce procesu (w2k) hlasi, ze
> volne pameti je dost. Neco podobneho (i kdyz trochu ruzne hodnoty) mi
> hlasi funkce, ktere vraceji stav pameti Heapu.
>
> Postupne jsem dosel k zaveru, ze by se mohlo jednat o docela znacnou
> fragmentaci pameti, jelikoz velikost stringu ma tak velky rozptyl.

Tohle je teoreticky mozne, ale nejdrive bych pro jistotu zkontroloval ten
leak. Prece jen je to trochu podezrele.

> Napadlo me reseni, kdy by se jednou alokovane polozky dynamicky
> nerusily, jen se "prevedly" do jakehosi poolu, ktery bych si
> obhospodaroval sam. A aplikace by si z tohoto poolu "braly" potrebne
> objekty a zase by sem "vracely" ty co by momentalne nepotrebovaly.

Moznosti je nekolik:

- napsat vlastni TStringList ktery bude alokovat pamet z privatniho heapu.
Delphi memory manager ovsem neumoznuje mit v aplikaci vice jeho instanci,
takze by si musel pouzit heap manager z Windows, ktery neni nejrychlejsi
- napsat vlastni TStringList ktery bude mit "predvidatelny" pocet polozek a
tem pak implementujes metody NewInstance a FreeInstance tak, aby si brali
pamet z nejakeho linearniho poolu.
- zmenit logiku aplikace tak, aby toto vubec nevznikalo

> Dal jsem zjistil, ze WideStringy tuto vlastnost nemaji, cimz by jednou
> alokovana pamet pro uvedemou strukturu zustavala po dobu behu apliace
> "na stale stejne miste". Nenasel jsem ale odpovidajici objekt
> (TStringList), ktery by pracoval prave s timto druhem stringu.

WideString je kvuli kompatibilite s COMem (BSTR) implementovan tak, ze pouziva
memory manager z Windows. Takze tam problem bud nevznika nebo ano, ale ty jej
akorat nejsi schopen (vcas) detekovat.

> Nenapada nekoho, jak z toho ven ??
> Rad bych funkcionalitu, kerou nabizi objekt TStringList pouzival i
> nadale....

Popis vice co s tim vlastne delas.

Petr Vones


InnoSetup - vytvoreni zastupce v menu Spustit pri

[*] Milos J. Hrach <delphi_konf(zv)post(tec)cz> - 2.9.2004 12:40:10

Ahoj lidi,

nemate nekdo povedomost jak vytvorit pri instalaci (instalator
vytvoren v InnoSetup) zastupce v menu Spustit pri startu?

Diky


fragmentace pameti

[*] Pavel Poles <delphi(zv)noni(tec)cz> - 2.9.2004 12:26:09

> Dal jsem zjistil, ze WideStringy tuto vlastnost nemaji, cimz by jednou
> alokovana pamet pro uvedemou strukturu zustavala po dobu behu apliace
> "na stale stejne miste". Nenasel jsem ale odpovidajici objekt
> (TStringList), ktery by pracoval prave s timto druhem stringu.

v JCL je TWideStrings a TWideStringList, pouzivam k naproste spokojenosti...

Pavel Poles


OT: Ponuka prace

[*] Pavol Kakacka <kakacka(zv)proca(tec)cz> - 2.9.2004 12:12:08


Dobry den!

Holding AAC (www.aac.as) je v sucasnosti pokladany za jednu z
nejuspesnejsich vlastnickych struktur na ceskom trhu informacnych
technologii. Jednou z divizii nasich firiem je divizia informacnych
systemov.

Do tejto divizie hladame cloveka na spravu informacnych systemov a Hot-Line.
Ide o IS Navision a SAP Business One.
Pracovisko Praha. Ponukame dobre platove ohodnotenie. Pozadujeme skusenosti
v obore IS.
Ziadosti o blizsie informacie prosim posielajte na moj sukromny mail.

Pavol Kakacka
vedouci vyvoje IS
ProCA spol. s r.o.
V Luzich 818
Praha 4 Libus
tel: +420 234 646 443
kakacka(zv)proca(tec)cz
www.proca(tec)cz
www.brave(tec)cz
www.tesco(tec)cz



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