Poslední příspěvky

Stran: 1 [2] 3 4 ... 10
11
Obecné / Re:Barva ListBoxu
« Poslední příspěvek od pf1957 kdy 17-02-2018, 18:40:44 »
bych se, kdyby to fungovalo pořád stejně. Ale nepřišla jsem na to, jak mám nastavit, aby se zabarvil celý prostor ListBoxu bez ohledu na text v něm... Proč to někdy jde a jindy ne... A proč to v TreeView funguje naprosto bezvadně.
No protoze neni widget jako widget. Uz jsem s tim dlouho nic nedelal, ale listbox odchytaval zpravu WM_ERASEBKG (nebo jak se to presne jmenuje) a tim jednak zpusoboval blikani pri prekreslovani a dvak vykresloval jen tolik radku, kolik existovalo, takze zbytek prostoru zustaval neprebarveny. Uz si to nepamatuju, co jsme s tim delavali, protoze pred jsme presli na Lischkeho  "Virtual Everything" a pouzivali to i misto listboxu. Mam dojem,  ze kdysi v dobach D1,2 jsem spolknul WM_ERASEBKG a kreslil prazdne (neexistujici) radky do zaplneni view portu. Ale HOSIP.
12
Obecné / Barva ListBoxu
« Poslední příspěvek od Lenka kdy 17-02-2018, 18:29:21 »
Dobrý den,
nerada zdržuji trivialitou, ale už si nevím rady... Mám ve formuláři TreeView, ListBox a hromadu tlačítek. Chci uživateli usnadnit orientaci a slabým podbarvením vždy zvýraznit komponentu, se kterou právě pracuje. Ani jednu nemůže přímo editovat, jen vybírá v TreeView položky do ListBoxu a tam je přeskládává, případně zas maže apod. Takže měním v určitých situacích nastavení Color oběma komponentám (jedné na bílou, druhé na žlutou). Problém je v tom, že v případě ListBoxu se mi NĚKDY zabarví pouze přímo oblast s textem a volné místo zůstane v původní barvě. Konkrétně když uživatel klikne do oblasti ListBoxu nebo když se přepne kliknutím do TreeView. Ale když klikne na nějaké tlačítko a nastavuji to tam, barví se celý prostor tak, jak si to představuju. Nebo když si otevře uložený soubor se seznamem a obsah se načte do ListBoxu. Neptala bych se, kdyby to fungovalo pořád stejně. Ale nepřišla jsem na to, jak mám nastavit, aby se zabarvil celý prostor ListBoxu bez ohledu na text v něm... Proč to někdy jde a jindy ne... A proč to v TreeView funguje naprosto bezvadně.
Předem děkuju za jakoukoli radu.
Lenka
13
MS SQL / Re:Kde jsou data ?
« Poslední příspěvek od Delfin kdy 17-02-2018, 18:05:25 »
a ja hypotezu s izolovanymi transakcemi napsal jeste pred tim, nez poslal ukazku kodu

Vim, vim. Hodnotil jsem ;) Pro me dotazy z tohoto vlakna nedavaji moc smyslu.
14
MS SQL / Re:Kde jsou data ?
« Poslední příspěvek od pf1957 kdy 17-02-2018, 17:43:38 »
To ano, ale v prezentovanem kodu (ktery je mazanim, nechapu proc) je jen jedno takove volani ;)
Ve slovnim popisu ma "...Do tabulky vložím několik záznamů..." a ja hypotezu s izolovanymi transakcemi napsal jeste pred tim, nez poslal ukazku kodu

Citace
A popis taky nedava smysl. Pokud OP prida vice zaznamu s autocommit ExecSQL, pak se do DBMS vlozi zadny, vsechny nebo jen nektere. Kdyz pak zaznam smaze, objevi se jeden z pridanych. To zkratka nedava smysl.
Nicmene neviditelnost dat je typickym projevem operaci spoustenych ve vzajemne izolovanych transakci, ale pravdou je, ze pokud by pracoval v rezimu AutoCommit, tak by k tomu nemelo dojit, protoze vsechna data by mela byt commitnuta a read transakce by na ne mela videt. Ovsem vete "...Když dám pak SELECT * FROM... " rozumim tak, ze v nejakem toolu napr. v MS Management studiu zadam query a ono se to chova tak, jak je popsano.
15
MS SQL / Re:Kde jsou data ?
« Poslední příspěvek od Delfin kdy 17-02-2018, 17:42:33 »
Jen pridam, ze pokud bys chtel real time refresh, mohl by ses podivat na TFDEventAlerter.
16
MS SQL / Re:Kde jsou data ?
« Poslední příspěvek od rustymattock kdy 17-02-2018, 17:35:29 »
No já vůbec původně s databázou nepočítal. Až při testování se usoudilo, že bude "cool", když bude data sdílet všech 9 linek.
Takže ANO, pustil jsem se do databázy, o které skoro nic nevím, představoval jsem si to jako Hurvínek válku a teď za to trpím :-(

Delfin:
Přes celou aplikaci je asi 7-8 dotazů na databázu. Jak CELECT, tak INSERT, UPDATE i DELETE. V různém pořadí, jak uživatel právě potřebuje.
Vyzkouším co jste napsali, prostuduji odkaz, který mi kolega výše zasla a budu věřit, že mě to posune.
17
MS SQL / Re:Kde jsou data ?
« Poslední příspěvek od Delfin kdy 17-02-2018, 17:28:05 »
Nevznikaji, protoze FireDAC za Tebe pouzije implicitni transakci. Je to uplne to same co bys udelal explicitne v kodu.
To plati jen pro jeden izolovany ExecSQL. Ale lidi jako OP, kteri nikdy neslyseli o Commit, nenapadne, ze kdyz si pridaji jeste dalsi ExeSQL, ze kazdy pobezi v jine transakci a ze to nebude ACID.

To ano, ale v prezentovanem kodu (ktery je mazanim, nechapu proc) je jen jedno takove volani ;) A popis taky nedava smysl. Pokud OP prida vice zaznamu s autocommit ExecSQL, pak se do DBMS vlozi zadny, vsechny nebo jen nektere. Kdyz pak zaznam smaze, objevi se jeden z pridanych. To zkratka nedava smysl.
18
MS SQL / Re:Kde jsou data ?
« Poslední příspěvek od Delfin kdy 17-02-2018, 17:18:44 »
Tak jeste jinak. Pokud jsi transakci explicitne nenastartoval pomoci StartTransaction a mas zapnuty AutoCommit, pak je Ti Commit a Rollback k nicemu. Bude to FireDAC ktery bude pro kazde volani ExecSQL ridit transakce a to pro kazde volani jednu. No a v kodu ktery jsi ukazal zadne volani StartTransaction neni. Jsou jen dve moznosti. Bud transakce ridis Ty nebo FireDAC. Osobne v tomto vlakne nevidim problem a tudiz nemuzu poradit.

Pokud mas AutoCommit zapnuty a pouzijes:

Kód: Delphi [Vybrat]
  1. FDQuery1.ExecSQL('...');

Pak se FireDAC o vse postara za Tebe. Pokud mas volani vic a chces je spustit bud vsechny nebo zadny, pak pouzijes napr.:

Kód: Delphi [Vybrat]
  1. FDQuery1.Transaction.StartTransaction;
  2. try
  3.   FDQuery1.ExecSQL('...');
  4.   FDQuery1.ExecSQL('...');
  5.   FDQuery1.ExecSQL('...');
  6.   ...
  7.   FDQuery1.Transaction.Commit;
  8. except
  9.   FDQuery1.Transaction.Rollback;
  10.   raise;
  11. end;
19
MS SQL / Re:Kde jsou data ?
« Poslední příspěvek od pf1957 kdy 17-02-2018, 17:11:06 »
Snad to opravdu bylo ono.
Tezko rict, ale obecne plati, ze s transakcemi a thready je treba pracovat cistym zpusobem, protoze jinak mohou vznikat tezko laditelne/simulovatelne/lokalizovatelne chyby a je treba udelat maximum pro to, aby tato kategorie chyb pokud mozno vubec nevznikla. Samozrejme to zacina u teorie...
20
MS SQL / Re:Kde jsou data ?
« Poslední příspěvek od pf1957 kdy 17-02-2018, 17:04:39 »
P.S: k čemu je Rollback(když už čtu, že tam musí být) ?
Google negoogluje? Heslovite treba http://nb.vse.cz/~palovska/bivs/DBII_2_advancedSQL.pdf
Stran: 1 [2] 3 4 ... 10