Poslední příspěvky

Stran: 1 2 [3] 4 5 ... 10
21
Obecné / Re:PAL - Local objects with unprotected calls to Free
« Poslední příspěvek od Stanislav Hruška kdy Dnes v 17:38:43 »
Toho všetkého som si vedomý. V mojom prípade:
  • SetParams sa netýka zostavy ale FDQuery(ies). Tam je preň dobré miesto. Existuje len v uvedenej triede
  • PrepareReport je už v ShowReport. Nemyslím si, že je chyba ho ponechať skryté
Už ďalší potomkovia nebudú. Určite. Mincu som si nehodil, ale prepracujem to :-\
22
Obecné / Re:ScrollBar1: jak vytisknu polohu
« Poslední příspěvek od max2 kdy Dnes v 17:34:34 »
Nejde mi nadeklarovat
`var Btn:TextEdit`

je to podtrzene cervene.
23
Obecné / Re:PAL - Local objects with unprotected calls to Free
« Poslední příspěvek od vandrovnik kdy Dnes v 17:28:05 »
Určitě je lepší psát správně, i kdyby kvůli tomu byl kód o pár řádků delší. Že je delší, ničemu nevadí, že je to šmodrchanec, u kterého nikdo cizí (a po měsíci možná ani autor) netuší, co se děje, je prostě problém.

Pokud do .Create dáš kde co, pak založíš potomka a ten má dělat něco jiného, tak to půjde hodně ztuha.

Přeci i volající kód bude mnohem čitelnější, když tam bude něco jako:

Kód: [Vybrat]
oPrint := TPrintBillingRest.Create;
try
 oPrint.SetParams;
 oPrint.PrepareReport;
 oPrint.ShowReport;
 // oPrint.ExportReporfToPdf;
finally
 FreeAndNil(oPrint);
end;

než když máš jen:
Kód: [Vybrat]
oPrint := TPrintBillingRest.Create;
FreeAndNil(oPrint);
(to budí dojem, že je ten objekt vlastně k ničemu, když ho po vytvoření zase hned rušíš).
24
Obecné / Re:ScrollBar1: jak vytisknu polohu
« Poslední příspěvek od Stanislav Hruška kdy Dnes v 17:24:47 »
var
  Btn: TextEdit;  //Pre každú inštanciu musíš mať samostatnú premennú. V takýchto prípadoch sa používajú zoznamy
begin
  Btn := TextEdit.Create(Self);  //  Self = formulár. Môže tam byť aj nil. Takom prípade ich musíš zničiť sám
25
Obecné / Re:ScrollBar1: jak vytisknu polohu
« Poslední příspěvek od max2 kdy Dnes v 17:13:49 »
Jeste mam dotaz: chtel bych za behu 'Designu' pridat TextEdit, policko pripravene k zapisu a vyplnene cislem, kolikate je v poradi, jedno
pod druhym. Pri kazdem kliknuti na Button2 (ten uz mam) by se mela jedna 'TextEdit' za behu pridat a vyplnit.

Umim pridat TextEdit a vyplnit , ale ne za behu programu.
26
Obecné / Re:PAL - Local objects with unprotected calls to Free
« Poslední příspěvek od Stanislav Hruška kdy Dnes v 16:25:41 »
Volání inherited by v constructoru mělo být na prvním místě, ne?
A dávat ShowReport apod. do constructoru se mi nelíbí ani trochu - tam se má object co nejrychleji a s co nejmenší možností chyb vytvořit, nic víc.
Áno, inherited by malo byť na prvom mieste. Celkom bežne to tak nemám. Dôvod je, že najprv musia zbehnúť iné veci, aby bol inherited v predkovi úspešný. Zvyčajne AV. Tu uverejnený constructor mi dal v tomto smere poriadne zabrať.
Problematika ShowReport:

ShowReport je procedúra v predkovi. Je protected. Nie je problém ju zverejniť.
  • buď dám prednosť lenivosti. Kód je jednoduchší, kratší a nemusím myslieť na volanie ShowReport. Alebo
  • napíšem čistý/správny kód. Namiesto skrátenia kódu ho urobím dlhším :'(
Idem si hodiť mincou :D
27
Obecné / Re:PAL - Local objects with unprotected calls to Free
« Poslední příspěvek od vandrovnik kdy Dnes v 15:41:38 »
Volání inherited by v constructoru mělo být na prvním místě, ne?
A dávat ShowReport apod. do constructoru se mi nelíbí ani trochu - tam se má object co nejrychleji a s co nejmenší možností chyb vytvořit, nic víc.
28
Obecné / Re:PAL - Local objects with unprotected calls to Free
« Poslední příspěvek od Stanislav Hruška kdy Dnes v 14:37:16 »
Rozumiem čo mi píšeš. Nestalo sa jediný raz, žeby to zlyhalo.
Samozrejme je to závislé na poradí. Vždy sa musí ukončiť kód pred. Kód predka
Kód: [Vybrat]
constructor TPrintWithOption.Create(AjstPanel: TjstAdvPanel; APrintType: TPrintType);
begin
  if not Assigned(FQry) then
  begin
    FQry := TFDFunction.NewQry;
    FQry.Transaction := TFDFunction.FbTransaction(ttReadOnly);
    FTextAndParam := TTextAndParam.Create(AjstPanel, APrintType, FQry);
  end;
.
  FGroupHeader := TObjectList<TfrxGroupHeader>.Create(False);
  SQLText;
  FTextAndParam.SetAllText;
  CompleteText;
  inherited;
  GetfrxObject;
  SetParams;
  SetfrxObject;
  ShowReport;
end;
29
Obecné / Re:PAL - Local objects with unprotected calls to Free
« Poslední příspěvek od pf1957 kdy Dnes v 14:06:19 »
Samozrejme, že to je constructor! Jedná sa o triedu. Formulár zobrazí jej predok.
No ono to tak zrejme neni - to by se Radek neptal... V kazdem pripade je to nesrozumitelny a velmi pravdepodobne i necisty styl kodovani, pokud tam nemas nejake asynchronni vyfikundace a spoustis funkcionalitu rovnou z konstruktoru jeste pred jeho dobehnutim...

30
Obecné / Re:PAL - Local objects with unprotected calls to Free
« Poslední příspěvek od Stanislav Hruška kdy Dnes v 13:39:28 »
Samozrejme, že to je constructor! Jedná sa o triedu. Formulár zobrazí jej predok.
Stran: 1 2 [3] 4 5 ... 10