APAR status
Closed as program error.
Error description
SCENARIO:- 1.Create the folder with name called TEST under the F drive.And put the given data in TEST folder, before starting this scenario. 2. The method of CATIA.RefreshDisplay = False 3. Start CATIA R19SP6. 4. Open "F:\TEST\MacroTEST.CATPart". 5. Select "Tools/Macro/Macros" in menu bar. "Macros" window is displayed. 6. Select "MacroTEST.catvba" from "F:\TEST" folder. 7. Select "NoRefreshModeless" and click "Run" button. "Modeless" window is displayed. 8. Click "CommandButton1" in the "Modeless" window. Display is refreshed after each method call. This is problem . PROBLEM:- If the method of "CATIA.RefreshDisplay" sets to "False" in a catvba, Display should not be refreshed after each method call. The method of RefreshDisplay in a catvba should work correctly in 32bit and 64bit CATIA .
Local fix
empty
Problem summary
SCENARIO:- 1.Create the folder with name called TEST under the F drive.And put the given data in TEST folder, before starting this scenario. 2. The method of CATIA.RefreshDisplay = False 3. Start CATIA R19SP6. 4. Open "F:\TEST\MacroTEST.CATPart". 5. Select "Tools/Macro/Macros" in menu bar. "Macros" window is displayed. 6. Select "MacroTEST.catvba" from "F:\TEST" folder. 7. Select "NoRefreshModeless" and click "Run" button. "Modeless" window is displayed. 8. Click "CommandButton1" in the "Modeless" window. Display is refreshed after each method call. This is problem . PROBLEM:- If the method of "CATIA.RefreshDisplay" sets to "False" in a catvba, Display should not be refreshed after each method call. The method of RefreshDisplay in a catvba should work correctly in 32bit and 64bit CATIA .
Problem conclusion
NOTE THAT THIS PROBLEM WILL ALSO BE FIXED ON V5R19 SP8. NOTE THAT THIS PROBLEM WILL ALSO BE FIXED ON V5R20 SP2. Additional Closure Information: Technical explanation of the defect: modified VBA integration in 64 bits to be coherent with 32 bits. Technical explanation of the correction: Refresh of the display is now under control of property RefreshDisplay. Possible by-pass and/or correction limitation: none The below description is applicable for running the 32 bit CATIA on 64 bit OS. Now the behavior of Refresh Display on 64 bit is same as on 32 bit machine. A refresh of the display is done for all "late binding" calls whatever if the form is modal or modeless (but of course depending on the RefreshDisplay property value). The property RefreshDisplay allows to enable/disable the refresh of the display while a macro is executed but only for automation methods that are called using the late binding protocol and if this method is not a get method. VBScript and CATScript macros use always the late binding protocol but VBA uses it only for non typed variables. Hence to get the correct behavior of RefreshDisplay customer has to modified the code in VBA file. The modification will be the use non typed variable in VBA. . For 64 bit CATIA, the RefreshDisplay property will not work for Modeless window. This is PRS refer the following description:- Modeless form in VBA. let's see a macro example to well understand Sub CATMain() UserForm.Show vbModeless End Sub When this VBA macro is executed in CNEXT, it returns immediately because the form is modeless then in CNEXT the macro execution is seen has ended. But the form still exists until the user closes it and can communicate with CNEXT. This can lead to some difficulties for example if the form tries to modify the currently opened document while the user modifies it interactively. This is particularly true with a 64 bit version where VBA is an outprocess application (VBA only exists in a 32 bit version) that communicates with CNEXT using COM ; in this case some user interactions can be executed while the macro is also executed. In 32 bit this is less true because the user interactions are not taken into account while a VBA form is in action. -> This kind of form (modeless) must be used with care, specially in 64 bits, and modal forms must be preferred. So the correction will not work for the modeless window on 64 bit CATIA.RefreshDisplay property will work as per it's value for Model window on 64 bit CATIA.
Temporary fix
Comments
APAR Information
APAR number
HD93099
Reported component name
CATIA V5 NT>XP
Reported component ID
569151000
Reported release
519
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt
Submitted date
2010-01-29
Closed date
2010-05-14
Last modified date
2010-06-10
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
Fix information
Fixed component name
CATIA V5 NT>XP
Fixed component ID
569151000
Applicable component levels
R519 PSN SP51908
UP10/06/10 I 1000
[{"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Product":{"code":"SSVJ2K","label":"CATIA V5"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"519","Edition":"","Line of Business":{"code":"","label":""}}]
Document Information
Modified date:
10 June 2010