Documentation is sparse so bear with me. Client / Server application using FireDAC. Server has necessary components including FDConnection, FDSchemaAdapters, FDQueries, etc. Running fine.
Client has a datamodule with FDSchemaAdapters, FDTableAdapters, FDMemTables, and DataSources. Runs fine, connects to the server as expected, all server public methods are imported to the client properly.
On the client's datamodule: FDTableAdapter property SchemaAdapter is set to its appropriate FDSchemaAdapter. FDTableAdapter property DatSTableName is set at design time to the name of the query on the server I am opening on the server. FDTableAdapter property UpdateTableName is blank. FDMemTable property Adapter is set to its appropriate FDTableAdapter (the one with the DatSTableName set at design time). Client calls methods on the server to set the SQL on the server for the query named in the DatSTableName poperty of the FDTableAdapter. Normally this works superbly. However in one form the value in the client's FDTableAdapter property DatSTableName is unexpectedly changed to either an empty string or the the value of the FDMemTable component's name using that FDTableAdapter! This results of course in the SQL sent to the server to fail. I have no idea why this seems to be occurring, nor why the value of DatSTableName is not being passed to the from the datamodule's method to a shared datamodule that calls the server sending the SQL statement to the proper schema adapter on the server. When the SQL is passed correctly the server returns the proper response. I have little success in finding any posts on many of the methods, properties of these FireDAC components. I'm completely baffled at this point. Any insight is greatly appreciated!
Environment is:
Windows 10 with all updates
Delphi 10.2 with update 3
FireDAC and Delphi versioning is mostly 25.0.29899.2631
I have researched the web for documentation on FireDAC properties and many are not documented. Likewise searched for issues similar to what I am experiencing and found nothing. Tracing through code on the client I can see the property value gets changed when passed to a another client method that actually does the call to the server. No idea how or why it's changing.