Poslední příspěvky

Stran: [1] 2 3 ... 10
1
Obecné / Re:TIdFTP Size problém
« Poslední příspěvek od < z > kdy 24-03-2017, 12:59:35 »
http://www.indyproject.org/kb/index.html?howdoiobtainthesizeofa.htm
2
Obecné / TIdFTP Size problém
« Poslední příspěvek od Ján Masaryk kdy 23-03-2017, 21:02:26 »
Zdravím Delphistov.

Mám D2010 a Indy10.

Po dlhšej dobe riešim niečo s ftp a narazil som na jeden problém.

TIDFtp.Size() mi vracia hodnotu -1.

Skúšal som už všetky možné tipy z Googlu vrátane TransferType ftBinary a UseMLIS  false - čo nastavuje ako som zistil pri debugovaní aj INDY...

Jediný spôsob, ako sa viem k veľkosti súboru dostať je cez IdFTP1.DirectoryListing.Items.Size,
ale to je dosť neefektívny spôsob, nakoľko musím prejsť celý adresár...

Pokúšal som sa pre priamy selekt konkrétneho súboru tak, že som miesto premennej  i v IdFTP1.DirectoryListing.Items.Size použiť IdFTP1.DirectoryListing.IndexOf() ale tam som skončil s hlásením 'incompatible types TIdFTPLIstItems and string' - teda neviem, akú hodnotu tam mám dať...

Zaujímavé je, že v roku 2009 som robil  FTP manager na hromadné kopírovanie súborov na server a tam mi overovanie veľkosti fungovalo normálne....

Moje riešenie funguje, ale veľmi sa mi to nepáči a určite sa nepáči ani vám...

Riešili ste už takýto problém, resp máte nejaké zmysluplné riešenie ?

Vopred ďakujem za info.

3
Obecné / Re:RAD Studio 10.2 Tokyo je dostupné
« Poslední příspěvek od vandrovnik kdy 23-03-2017, 20:52:18 »
Ano - právě to problém je. Řešení je, jak jsem psal nahoře, použití Lock/Unlock u TCanvas. Ten zajistí, aby se globální proměnné nemazaly:

Díky za nasměrování. Díval jsem se zatím jen do helpu, tam píšou: Because Lock prevents other threads from executing, it can adversely affect performance. Do not call Lock unless there is a possibility that another thread interferes with drawing on the canvas.

Proto jsem si vždycky myslel, že dokud nebudu to bitmapu používat ve více vláknech zároveň, je to OK. Do zdrojáků zkusím opatrně nahlédnout, jen si nejsem jistý, jestli zrovna v tomhle proniknu dost do hloubky :/ Útroby VCL nijak podrobněji neznám.
4
Obecné / Re:RAD Studio 10.2 Tokyo je dostupné
« Poslední příspěvek od oxo kdy 23-03-2017, 20:31:29 »
Tady jde možná o to, že ve VCL se ani TBitmap nedá použít bez Lock/Unlock v non-VCL threadu. A to nemyslím práci z různých dvou threadů, ale jeden worker thread si vytvoří bitmapu, něco na ní nakreslí a pak ji zabije. <- To nejde, protože Canvas používá globální listy.

V dokumentaci to nemají pořádně popsané a skoro nikdo o tom neví. Přitom to je dost zásadní.

Můžu poprosit o info, jak že to je tedy správně? V jedné aplikaci používám načítání fotek do tBitmap v samostatném vlákně, tak jestli se už mám hrozit, že z toho kouká nějaký problém...

Ano - právě to problém je. Řešení je, jak jsem psal nahoře, použití Lock/Unlock u TCanvas. Ten zajistí, aby se globální proměnné nemazaly:

Kód: [Vybrat]
      xBmp := TBitmap.Create;
      try
        xBmp.Canvas.Lock; // <<< !!!
        try
          xBmp.Width := 1;
          xBmp.Height := 1;
          xBmp.Canvas.Font.Name := myName;
          xBmp.Canvas.Font.Size := mySize;
          xBmp.Canvas.Font.Style := myStyle;

          xNumWidth := xBmp.Canvas.TextWidth('0123456789') div 10;
        finally
          xBmp.Canvas.Unlock; // <<< !!!
        end;
      finally
        xBmp.Free;
      end;

Trochu pogoogli - na internetu se o tom píše a nebo se koukni do zdrojáků VCL.

EDIT: i když možná pouhé načítání by mohlo být i OK bez Lock/Unlock. Otázkou je, jestli používá Canvas, Brush a pod - nemuselo by. Koukni pro jistotu do kódu VCL, mně se v tom nechce teď hrabat.
5
Obecné / Re:RAD Studio 10.2 Tokyo je dostupné
« Poslední příspěvek od vandrovnik kdy 23-03-2017, 18:46:21 »
Tady jde možná o to, že ve VCL se ani TBitmap nedá použít bez Lock/Unlock v non-VCL threadu. A to nemyslím práci z různých dvou threadů, ale jeden worker thread si vytvoří bitmapu, něco na ní nakreslí a pak ji zabije. <- To nejde, protože Canvas používá globální listy.

V dokumentaci to nemají pořádně popsané a skoro nikdo o tom neví. Přitom to je dost zásadní.

Můžu poprosit o info, jak že to je tedy správně? V jedné aplikaci používám načítání fotek do tBitmap v samostatném vlákně, tak jestli se už mám hrozit, že z toho kouká nějaký problém...
6
Obecné / Re:RAD Studio 10.2 Tokyo je dostupné
« Poslední příspěvek od oxo kdy 23-03-2017, 18:03:09 »
- TCanvas: Supports being used from multiple threads at once, but is internally serialized.

Zaujimava vec, skoda len ze iba pre Fire monkey. No k multithread GUI to ma stale daleko, ale multithread canvas to urcite zjednodusuje... Aj ked len vnutornou serializaciou, no u VCL sa toho asi nedockame. Ale tiez je pravda ze nemoznost pouzivat GUI z viacerych vlakien ma trapila predovsetkym v zaciatkoch, dnes uz nevidim vela dovodov preco pouzivat GUI z viacerych vlakien bez synchronizacie. Par veci by to mozno zjednodusilo, ale aj tak tu nie je moc miesto na to pouzivat gui hala bala z viacerych vlakien... Cize by to opat iba zvadzalo zaciatocnikov robit kraviny, vsak ze  ;D :o

Mutithread GUI nikdy nebude ani VCL ani FMX. To prostě nejde.

Tady jde možná o to, že ve VCL se ani TBitmap nedá použít bez Lock/Unlock v non-VCL threadu. A to nemyslím práci z různých dvou threadů, ale jeden worker thread si vytvoří bitmapu, něco na ní nakreslí a pak ji zabije. <- To nejde, protože Canvas používá globální listy.

V dokumentaci to nemají pořádně popsané a skoro nikdo o tom neví. Přitom to je dost zásadní.
7
Obecné / Re:RAD Studio 10.2 Tokyo je dostupné
« Poslední příspěvek od Slappy kdy 23-03-2017, 07:50:28 »
Je zaujimave ze oficialny nazov Tokyo chyba v splash obrazku (pri spusteni).

Inak zatial velmi podarena verzia.

co je tam špatně? https://en.wikipedia.org/wiki/Tokyo

Nevravim ze to je zle alebo dobre (inak po slovensky sa pise Tokio :) )

Proste len vravim, ze zmenili strukturu nazvu - v starsich verziach zachovali nazov mesta v aplikacii a takisto napr. v Start menu atd. a teraz to odstranili.

V principe je to jedno, len ma to zarazilo, vobec nic to neznamena a nema to ziaden vplyv.


Vsimol som si to len podla splash obrazka a podla toho, ze mi teraz nemozem napisat Tokyo v Start menu pre spustenie aplikacie.

8
Obecné / Re:RAD Studio 10.2 Tokyo je dostupné
« Poslední příspěvek od Daniel_Andrascik kdy 23-03-2017, 01:01:06 »
- TCanvas: Supports being used from multiple threads at once, but is internally serialized.

Zaujimava vec, skoda len ze iba pre Fire monkey. No k multithread GUI to ma stale daleko, ale multithread canvas to urcite zjednodusuje... Aj ked len vnutornou serializaciou, no u VCL sa toho asi nedockame. Ale tiez je pravda ze nemoznost pouzivat GUI z viacerych vlakien ma trapila predovsetkym v zaciatkoch, dnes uz nevidim vela dovodov preco pouzivat GUI z viacerych vlakien bez synchronizacie. Par veci by to mozno zjednodusilo, ale aj tak tu nie je moc miesto na to pouzivat gui hala bala z viacerych vlakien... Cize by to opat iba zvadzalo zaciatocnikov robit kraviny, vsak ze  ;D :o
9
Obecné / Re:RAD Studio 10.2 Tokyo je dostupné
« Poslední příspěvek od vandrovnik kdy 22-03-2017, 20:36:21 »
Tohle znáš? http://docwiki.embarcadero.com/RADStudio/Berlin/en/Settings_Migration_Tool
Jinak přes GetIt se dá hodně věci jednoduše instalovat. Ale jak říkáš.

To jsem k mé velké radosti objevil a použil, protože coby odchovanec Turbo Pascalu používám stařičké mapování kláves apod. a vždy mi trvalo dlouho najít, co vše ještě kde poladit, a pak to samé ještě na notebooku.
10
Obecné / Re:RAD Studio 10.2 Tokyo je dostupné
« Poslední příspěvek od Radek Červinka kdy 22-03-2017, 20:26:07 »
Asi se zeptám blbě - jaký je nejjednodušší způsob, jak přejít z 10.1 Pro na 10.2 Pro? Instalace komponent třetích stran je pro mě vždycky očistec, zejména u těch, co už nejsou moc udržované, jako třeba tDbf, nebo jejichž instalace mi snad nikdy nešla po dobrém (JVCL). Existuje nějaký snadný způsob, nebo to opravdu obnáší instalaci do nové složky a pak bojovat?

Tohle znáš? http://docwiki.embarcadero.com/RADStudio/Berlin/en/Settings_Migration_Tool
Jinak přes GetIt se dá hodně věci jednoduše instalovat. Ale jak říkáš.
Stran: [1] 2 3 ... 10