I have successfully compiled the KanBan demo and created a simple test App using FireDAC and an Interbase table without issues.
I have tried to connect to our ElevateDB database using a similar structure table. All works at design time and I can see the KanBanBoard populate with the data but at runtime and I leave the table and DatabaseAdaptor active = false at designtime.
At runtime where I have the following code I get an Access Violation when I set the AdvKanbanBoardDatabaseAdapter1.Active := true;
We currently don't have access to ElevateDB so it would be good to provide more details about the access violation. Does this error happen on a TDBAdvGrid or a TDBGrid?
procedure TAdvKanbanBoardAdapter.SetActive(const Value: boolean);
begin
if (Value <> FActive) then <----- AV occurs here
begin
FActive := Value;
LoadItems;
end;
end;
I have just tried to check again at design time but the database adaptor although present in the form definitions is not visible on the form for me to test again. I previously noticed this same symptoms and recreated the form which simply has the AdvKanbanBoard1, AdvKanbanBoardDatabaseAdapter1, DataSource and EDBTable1
If I try and add the AdvKanbanBoardDatabaseAdapter1 to the same form I get an Access Violation in TMSVCLUIPackPkgExDX13.bpl, closing and reloading the form produces the same results, i'm on the latest version of the UI Pack via subscription manager and Delphi 10.4.2
Hi, we have investigated this here and couldn't reproduce the issue with another dataset. So I assume that this is related to ElevateDB or at least something related to another type of dataset which requires a specific kind of flow. As we don't have a test application we cannot predict what will happen in ElevateDB. I suggest to programmatically set all properties required to activate the dataset and adapter in the constructor of the form, or from a button click.
Hi, thanks for the update, I have removed the AdvKanBanDatabaseAdaptor from the form and as you suggested implemented only at runtime and this appears to work correctly.