Forum Replies Created
-
AuthorReplies
-
quote:
Are the used forms from the applet also unloaded at that time?
Yes, an applet’s forms are deallocated when the applet terminates.
Regards,
Advansys SupportA script terminates at the end of sub Main.
Regards,
Advansys SupportThank you for your enquiry.
The issue that you describe is addressed in the current release, Message Saver 2.0. You can review the features of this product at:
http://www.advansyscorp.com/formativ_pack_message_saver.htm
This issue is also addressed in the latest version of Message Saver 1.3x. An email has been sent to you with information on how to obtain this version.
Regards,
Advansys SupportThank you for your enquiry.
In the following I have assumed that by “unloaded” you mean the memory used by a variable is deallocated or returned to the system. If this is not correct, please describe your technical requirement.
The answer to your question depends on how the variables are used in an applet.
The Formativ language is VBScript with extensions for working with the GroupWise APIs. A VBScript script/applet is executed by the Windows Scripting Host, and VBScript variables have the type Variant. The Variant type supports a number of subtypes, eg. integer, string, Boolean, Object (which could be a COM/OLE object). See the VBScript documentation for more information.
In general, variables are deallocated when they go out of scope. Here are some example cases:
- Local variable, ie. a variable declared inside a function/subroutine. Deallocation is automatic on exit from the function/subroutine.
- Global variable, ie. a variable declared outside all functions/subroutines/classes. Deallocation is automatic on termination of the script.
- Class variable, ie. a variable declared as a class member. Deallocation is automatic on deallocating an instance of the class.
- A variable that is assigned using the set operator refers to an Object. More than one variable can refer to a single Object. Assigning nothing to the variable decrements the reference count for the Object, which will be deallocated when the count equals zero. Otherwise, the reference count is decremented automatically when the variable goes out of scope.
- Formativ provides Utilities.TransferData which stores a string outside the scope of an applet. One applet can write to TransferData and another applet can read from TransferData. Its value is available for an entire GroupWise session: TransferData is deallocated when GroupWise shuts down. See the Formativ Language Guide for more information.
I hope this helps.
Regards,
Advansys SupportYour enquiry has been replied to by direct email.
Regards,
Advansys SupportThis enquiry has been replied to by direct email.
Regards,
Advansys SupportThank you for your enquiry.
I think the Clear method you mention belongs to the Err object, and yes, this method clears the current global error state.
There is no built-in method for clearing/initializing a Form. You will need to write your own code to initialize every field on the Form as required. Perhaps you could implement this code as a subroutine, eg. InitializeBabyTotForm(). Depending on your needs it may suit you to implement a load/save pair of subroutines, eg. LoadBabyTotForm(), SaveBabyTotForm().
In VBScript (and any other software) development, we recommend using named constants, eg. vbYesNo rather than literal constants (‘magic’ numbers), eg. 6. This makes it much easier to understand code written by someone else. You can define your own named constants using the Const keyword – see the VBScript online help for details.
I hope this helps.
Regards,
Advansys SupportThank you for your enquiry.
If you wish to unregister Formativ on the old machine, go to the GroupWise Help menu and select Formativ Registration Utility… A dialog will appear; use the mouse to right-click Formativ Runtime in the displayed list, then select Unregister.
To uninstall Formativ Runtime, open Add or Remove Programs (in the Windows Control Panel) and find the item Advansys Formativ Runtime. Click Change/Remove to uninstall.
You will also find Import Excel Data into an Address Book in the displayed list in Add or Remove Programs. Click Change/Remove to uninstall.
On your new machine, simply run the installers for Formativ Runtime and the Address Book solution.
If you are not sure of the registration code for your licensed copy of Formativ Runtime, please write to support@advansyscorp.com and we will resend this information.
I hope this helps.
Regards,
Advansys SupportDear L.P.,
Our engineers have considered your suggestion, including a number of alternatives for adding a feature like this to Formativ.
As I think you can imagine, this change to Formativ will be non-trivial. Accordingly, I cannot say if or when it will be made. However, this feature request has been added to the Formativ enhancements database.
Regards,
Advansys SupportDear L.P.,
Thank you for the clarification.
Your request has been added to the Formativ enhancements database.
Regards,
Advansys SupportDear Paul,
Thank you for your enquiry.
This problem has not been reported previously. It may be to do with NDPS but at this stage could you provide more details of your environment as outlined below, please?
- Is there any other information displayed which identifies the application that caused the “Unspecified error”? You may prefer to send a screen shot (Alt+PrintScreen) to support@advansyscorp.com if there is a lot of detail on the error dialog.
- There are a few different ways to initiate printing with Message Viewer. Can you specify the steps which led to this error, please? Does the error occur regardless of whether you print from the QuickViewer or a message View, whether you click the Print toolbar button or the Print menu item?
- What are the build numbers and dates of your installed copies of Message Viewer 1.3 and 2.0 (eg. 1.3.0.2 and 2.0.0.2)? You can find this information on the About dialog.
- Do both versions 1.3 and 2.0 produce the same error information, ie. “Line: 1343”, or are different line numbers displayed? If so, what is the line number for 1.3 and for 2.0?
Regards,
Advansys SupportThank you for your enquiry.
I am not sure what you mean by “the best way” to (if I understand your question) use a form’s ModalResult property. If you look at the list of values for this property in the Object Inspector (open the drop-down list), I believe all of them except for mrNone will close the form.
Suppose you have a form with multiple buttons (OK, Cancel).
- If you want to do some validation when the user clicks OK, then at design time set the ModalResult property of the OK button to mrNone (as in your example). Your validation routine (eg. an event handler for the OK button) should not need to set the form’s ModalResult unless the input is valid, ie. ModalResult = mrOK. (If the form is displayed more than once you might need to reinitialize ModalResult to mrNone.)
- No validation should be necessary for Cancel, so this button’s ModalResult property should be mrCancel, so the form will close automatically.
Suppose your applet has two forms, FormA and FormB, and that FormA shows FormB. You can choose the possible ModalResult values for FormB (or the buttons on FormB) to suit the needs of FormA. The following code shows an example:
dim iChoice iChoice = FormB.ShowModal if iChoice = mrYes then ' do something for Yes option... elseif iChoice = mrNo then ' do something for No option... elseif iChoice = mrCancel then ' cancel the process end ifThe choice between DateTimePicker and RzDateTimeEdit is largely aesthetic. I would choose the one that seems easiest for users. See the online Help files for these controls; RzDateTimeEdit offers some additional functionality that may simplify your work.
To format the date value, you can use the VBScript functions:
iText = FormatDateTime(DateTimePicker1.Date, vbShortDate) msgbox iText iYear = Year(DateTimePicker1.Date) iMonth = Month(DateTimePicker1.Date) iDay = Day(DateTimePicker1.Date) iText = iMonth & "/" & iYear & "/" & iDay msgbox iText
See the VBScript online Help for details.
I hope this helps.
Regards,
Advansys Support[This message was edited by Support 1 on July 12, 2006 at 07:08 PM.]
Dear John,
Apologies for my previous misleading post. It’s not enough to drop the NWIDir (LDAP) component onto a form. Before doing so you must install and register the LDAP ActiveX controls, as noted in the following (from the Formativ Studio ReadMe):
quote:
5. Novell ActiveX Components
The Visual Forms Designer component palette contains a number of ActiveX controls provided by Novell. Specifically, all components on the GroupWise, Netware, LDAP and NDAP pages are Novell ActiveX controls. In order to use these components (at both design and execution), the target computer needs to have the appropriate ActiveX controls installed and registered.
Formativ does not install these components. If you wish to use any of these components, you need to download, install and register the components from Novell. Likewise, if you write any applets that use any of these components, you need to ensure the appropriate components are installed and registered on your end-users computer.
Whether you choose the LDAP or NDAP controls, the Core Components must be installed. I believe the Core Components should be registered before the LDAP/NDAP controls can be registered.
I hope this helps.
Regards,
Advansys SupportThe security settings in Microsoft Framework for .NET apply to system accesses made by .NET applications. So if a remote (network-based) application A tries to open a local file, the security system will deny this request – if A is not authorized to do this. On the other hand, a remote application B which does not try to open the file will be allowed to run without any problem.
a2gofinder.exe is an example of application A, and a2goindexer.exe is an example of application B.
Regards,
Advansys SupportDear L.P.,
Thank you for your enquiry.
The Formativ language is based on VBScript which is a scripting language, not a full-blown programming language with support for multiple code modules. This is an unfortunate limitation for large or complex multi-applet solutions.
Here are the suggested workarounds to the problem:
- Manually copy common code and forms into every applet that requires the code. (Use the Export and Import buttons on the Forms dialog in the Formativ IDE to copy forms between applets.) This is not ideal because an update to one copy will not flow on automatically to all copies. You will need to ensure that updates like this are copied manually to all applets that use the code/forms.
- Write an applet to automatically update applet (VBF) files which use common code. It may be necessary to put special ‘delimiter’ comments before and after the common code, eg:
' [BEGIN_COMMON WAIT_UI] 'Implementation of WAIT_UI common code here... ' [END_COMMON WAIT_UI]
- It would be nontrivial to add a ‘callback’ or ‘return’ feature to Formativ, and we do not plan to do so at this time. However, it may be possible to approximate this behavior in multiple chained applets. For example, suppose you have an applet C which implements common functionality. Some applet A would need to pass all relevant data to applet C so that C executes the required class/method(s) and can identify A. After processing, C would pass its results to A, as well as state information that A can use to restore its previous state.
I think this option will not be trivial to implement.
I hope this helps.
Regards,
Advansys Support -
AuthorReplies