> > We differ only in the implementation of the 'easier way': > > I meant that I do not see the advantage of writing something like > > With Inifile do > begin > > IBConnection1.LibraryName:=ReadString('Connection','libraryNam > e','fbclient.dll'); > end > > over > With IniFile do > begin > > InitializeInterbase(ReadString('Connection','libraryName','fbc > lient.dll')); > end; >
Unfortunately your example illustrates nicely the difference. InitializeInterbase is unknown in the fpc I'm using. InitialiseIBase60 does exist but you have to add the non-trivial ibase60dyn to the uses clause to get to it (Google has 146 hits for "InitialiseIBase60", non of the hits are documentation or wiki pages). If it where a property of TIBConnection, non of these difficulties would exist. > Which is what you will end up writing in any real-world > scenario. I have never seen a real project where the > databasename set in > the OI was the one actually used in the deployed app. > > I cannot remember when I've last used the OI for setting the > username/password/databasename for a connection. > That is your usage case. The fact that username/password/databasename properties exist in all db components I know of seems to suggest that there are usage cases where it is used. I happen to use these properties frequently for writing quick'n dirty (RAD) test programs or mock-ups or during the development phase of a program. I hope that is still inside the supported use of fpc? > That, combined with the fact that the library name is project > wide, lead me to the conclusion that there is no need in a > property at the > connection level. > > That said, if an easier way is needed to set the library name > in the IDE, I'm all for it. I just don't think it should be a > TSQLConnection property, > for the reasons explained above. > Made a quick tour of the other dbcomponents I have on my system: Zeos (TZConnection.LibraryLocation) , MDO (TMDODataBase.ClientLib), Delphi's DBExpress (TSQLConnection.VendorLib). They have all this useless component property to specify a project wide library. True, sqldb doesn't claim compatibility with anything, so that shouldn't be a reason to do the same as the others. But afaik the other components don't have the recurring discussions on libraries not found or wrong library loaded, etc. Ludo _______________________________________________ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal