EhLib.Com
https://forum.ehlib.com/en/

Strange behavior with DBGridEh preview
https://forum.ehlib.com/en/viewtopic.php?f=5&t=1015
Page 1 of 1

Author:  ISOAR [ 02 Jan 2020, 12:05 ]
Post subject:  Strange behavior with DBGridEh preview

Good afternoon,
I wish you a happy new year !

I use Ehlib 9.4 (build 9.4.009) with Delphi D10.2 and I detected strange behavior, i will try to explain to you.
I use TDBGridEh object connected on SQL DB with TFDQuery & I use TMemTableEh object.
TDbGridEh -> TDataSource -> TMemTablEh -> TDataSetDriverEh -> TFDQuery

Also, I use TPrintDBGridEh to preview / to print and the problem is here.
When I want to preview content of DBGrid, I do this :

Code:
PrinterPreview.Previewer.ViewMode:=VmPageWidth;
PrinterPreview.Orientation:=poLandscape;
Preview;


When I press button "Stopper" (Abort) (French translation) because there is too much data (> 5000 rows) then i press my button "New" without close the preview window :
Code:
// button "New"
MyMemTable.Close;


I have following error :
Quote:
MyMemTable: Impossible d'effectuer cette opération sur un ensemble de données fermé


When I halted the preview process.
Do you know why that does that ?

Thank you in advance.

ISOAR

Attachments:
screen 3 erreur.png
screen 3 erreur.png [ 44.89 KiB | Viewed 1442 times ]
screen 2 nouveau.png
screen 2 nouveau.png [ 60.54 KiB | Viewed 1442 times ]
screen 1 Preview.png
screen 1 Preview.png [ 48.38 KiB | Viewed 1442 times ]

Author:  EhLibSupport [ 12 Jan 2020, 11:10 ]
Post subject:  Re: Strange behavior with DBGridEh preview

Hello

I tried to simulate a similar situation in the Demo project - MainDemo.
The table on page "Working With Huge Data" has a lot of data so that there is time to press the Stop and Close button (MemTableEh1.Close;)
But unsuccessfully. Error do not occur.

Attachment:
sshot-66.png
sshot-66.png [ 109.08 KiB | Viewed 1400 times ]


Code:
procedure TfrWorkingWithHugeData.Button2Click(Sender: TObject);
begin
  PrinterPreview.Previewer.ViewMode := VmPageWidth;
  PrinterPreview.Orientation := poLandscape;
  PrintDBGridEh1.Preview;
end;

procedure TfrWorkingWithHugeData.Button1Click(Sender: TObject);
begin
  //MemTableEh1.Active := not MemTableEh1.Active;
  MemTableEh1.Close;
end;

Can you create in some form a Demo project in which an error would occur?

Page 1 of 1 All times are UTC
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/