Changed PopupMenu.Text deprecation replacement to SelectRow. Marked SMTPSecureSocket.SMTPConnectionMode as deprecated with SMTPConnectionType as replacement. Now supports Declares that references the same function that exists in multiple shared libraries. Using a dual color ColorGroup on macOS PrinterSettings.ShowPrinterDialog, OpenPrinter -> PrinterSettings.OpenPrinter, OpenURLMovie -> Movie.OpenURL, RGB -> Color.RGB Reduce possibility of a NilObjectException when handling a button press in WebMessageDialog.
Selecting a compile error from the Errors pane in a project that has a Worker now properly takes you to the code item in the project.Īdding a class or module to a project and immediately undoing that add now clears the command bar.įixed a crash which occurred when pasting text into the code editor on Windows and the last word in the pasted text matched and autocomplete phrase. The project now builds correctly if its Worker was removed after the project had been previously built with the Worker. Using dot notation in Project Items to Include now properly includes all items, not just the top-level item.
Keep in mind, however, since the variable is a DesktopUIControl, the properties specific to a DesktopCheckBox will not be accessible without casting.Building *just* a Universal app with "Show Built apps in Finder/Explorer" enabled in Preferences now displays the window with the Universal app selected, rather than the root build folder.įixed a timing issue that could sometimes prevent Worker Helpers from quitting themselves if their main app was terminated. For example, if a variable can contain a reference to a new Check Box, the variable can be declared as a DesktopUIControl because Check Boxes inherit from the DesktopUIControl class. If your code needs to create different kinds of controls and store the reference to the new control in one variable, you can declare the variable as being of the type of object that all the possible controls you might be creating have in common (e.g, the super class or an interface). You use the index parameter of the control that is (passed in to the event handler to identify the control being used. Since any new control you create in this manner shares the same event handler code as the template control, you may need to differentiate between them in your code. If you click “Clone,” you will create another clone to the right of the first two, and so on. This creates a new Button to the right of the original. When the app launches, click the “Original” button. Width + 10 // reposition itĬlick the Run button. Var b As DesktopButton // this is the control class b = New Button1 // create clone of the control on the layout b. When you do this you’ll see the Index property get a value to indicate its position in the Control Set. You add other controls to the Control Set by clicking on them and selecting the Control Set name to add them to. This creates a Control Set with the name of the selected control. To create a new Control Set for the selected control, choose New Control Set from the popup menu. In both cases, you create a control set by selecting a control and then changing the value for the Member Of property in the Inspector (located in the Control Set group on the Advanced tab of the Inspector). The other is to create controls dynamically while your app is running. One is to allow you to have a collection of controls that share a single set of event handlers. It is suggested that you do that rather than use Control Sets.Ĭontrol Sets serve two purposes.
System requirements for current version.Reporting bugs and making feature requests.