PDA

View Full Version : Modifying the SQLLogin Dialog



jpadilla
10-02-2013, 07:58 AM
I am making a Basic MSI Installer to run a handful of SQL scripts. The scenario is setup like this; there is one database server, and multiple catalogs (7) within that server. I was trying to modify the default SQLLogin Dialog to show all 7 catalogs. I added in the edit fields with default values without a problem, but when I added the buttons for browse I ran into my problem. All 7 of buttons will bring up the catalog browse select form without a problem, but my selection will always be populated in the first catalog area. I am sure it is something overly simple that I am missing, but hopefully someone can point me in the right direction. I have attached the events from the default button that I modeled all of my other buttons after. On my other buttons I changed the argument for the first event to have the correct edit field, but that doesn't seem to matter.

10239



Sorry if this is an overly simplistic question, still trying to get the hang of InstallShield.

hidenori
10-02-2013, 03:12 PM
The built-in SQLBrowse dialog is designed to work with the default underlying property for the target database catalog named IS_SQLSERVER_DATABASE. Take a look at the control events for the OK push button of the SQLBrowse dialog. The selection of the browse list is stored to that default property when you click the OK button on the SQLBrowse dialog.

In order to accomplish your requirements, you need to add new events so that the selected catalog will be stored into your desired property. Note that the IS_SQL_DB_BROWSE property specifies to store the value of the IS_SQLSERVER_LIST property into the IS_SQLSERVER_DATABASE property. You would need to use a different property such as IS_SQL_DB_BROWSE1, IS_SQL_DB_BROWSE2... for each edit field for your catalogs.

Hope that helps.

jpadilla
10-03-2013, 10:31 AM
Yes that helped out immensely. I have it working now, except for an odd bug. I can press the button to select a database and the edit field updates just fine. I can do that to my hearts content as long as I don't delete the text from the field. Once I delete the text from the field it no longer displays anything. The field is still retaining the correct value after another selection, but it just doesn't display. If I press the back button to go to the previous screen and then immediately click next to go right back, the fields are once again displayed.

Is this a setting somewhere that I am overlooking, or is this a bug within installshield?

hidenori
10-03-2013, 01:06 PM
Please check out this thread (http://community.flexerasoftware.com/showthread.php?198388-Edit-control-not-refreshed-if-user-type-something-in-the-edit-control-before-browse&highlight=edit+control).