Nouveautés dans le modèle d’objet de FlexPro 8
Les sections suivantes vous fournissent des informations détaillées sur toutes les modifications apportées au modèle d'objet FlexPro. La plupart des modifications apportées au modèle d'objet de FlexPro 8 Automation depuis la version précédente sont des améliorations rétrocompatibles. Ces changements, qui nécessitent des ajustements du code VBA, sont mis en évidence en couleur ci-dessous. Si vous travaillez avec un langage de compilation, vous aurez certainement besoin d'importer la bibliothèque de types de FlexPro 8 et de recompiler votre programme. Si vous souhaitez importer des macros ou du code d'automatisation de FlexPro 6 à FlexPro 8, vous devez d'abord apporter les modifications énumérées dans la section Nouveautés du modèle d'objet de FlexPro 7.
Modifications et améliorations apportées aux objets d'analyse et autres objets de données
Tous les objets de données ont été étendus pour inclure les propriétés DataTypeX, DataTypeY et DataTypeZ. Ces variantes sans argument supplémentaire sont également affichées dans la fenêtre Propriétés de FlexPro. Les propriétés UnitInBrackets ont été étendues pour inclure un argument facultatif avec lequel vous pouvez sélectionner le type de parenthèse à utiliser. En outre, les propriétés permettant de définir l'étendue des données, LowerRangeLimitY, UpperRangeLimitY, LowerRangeLimitX, UpperRangeLimitX, LowerRangeLimitZ et UpperRangeLimitZ ainsi que les variantes correspondantes avec un argument supplémentaire qui sélectionne le composant, LowerRangeLimit et UpperRangeLimit ont été ajoutées.
Dans l'objet d'analyse Analyse du signal, le résultat peut maintenant être lissé après dérivation. L'objet SignalAnalysis a donc été étendu pour inclure les propriétés SmoothAfterDerivation et SmoothingWidth.
L'objet StatisticQuantityAnalysis a été étendu pour inclure les propriétés Composed, XDataSet et ZDataSet afin que les composants de données sources puissent également être spécifiés comme des ensembles de données séparés.
Dans l'objet RainflowCountAnalysis, la propriété IncludeResidue a été remplacée par la propriété Residue, qui offre des options supplémentaires. Ainsi, ".IncludeResidue = True" doit être converti dans le VBA en ".Residue = fpRainflowCountResidueInclude" et, de manière correspondante, ".IncludeResidue = False" doit être converti en ".Residue = fpRainflowCountResidueExclude".
L'objet d'analyse EventIsolation traite désormais aussi les séquences d'événements et prend en charge des événements supplémentaires. Par conséquent, l'objet EventIsolation comprend désormais également la nouvelle collection EventIsolations. Toutes les propriétés liées à un événement ont été copiées dans le nouvel objet EventIsolation. Par conséquent, dans le code VBA, les expressions telles que ".Event" doivent être converties en ".EventIsolations(1).Event".
Certaines options d'analyse ont été élargies pour inclure de nouvelles procédures, et l'option Vibrations du corps humain a été ajoutée. Les objets LoudnessAnalysis (option Acoustique), CFCFilterAnalysis (option Filtres numériques), HumanBodyVibrationAnalysis et HandVibrationAnalysis (tous deux faisant partie de l'option Vibrations du corps humain) ont été ajoutés.
Le nouvel objet d'analyse Signal Scaling est représenté par l'objet SignalScalingAnalysis.
Avec l'analyse du spectre temps-fréquence, la fréquence peut maintenant être remplacée par la vitesse actuelle. L'objet TimeFreqSpectralAnalysis a été étendu pour inclure les propriétés SpeedComposed, SpeedDataSet et SpeedXDataSet.
Modifications et améliorations apportées aux objets de présentation
Tous les objets curseurs (graphique, document et feuille de travail) ont été étendus pour inclure les propriétés NumberOfHarmonicCursors et HarmonicCursorSpacing et les méthodes ZoomHorizontally et ZoomVertically. La propriété supplémentaire CustomCoordinates présente la nouvelle collection CustomCoordinates, qui contient des objets du nouveau type CustomCoordinate. Les propriétés MarkerText, MarkerFont, MarkerFrameColor, MarkerLineColor, MarkerBackgroundColor, MarkerPosition et MarkerType ont été supprimées et déplacées vers la collection Markers. Ainsi, par exemple, ".MarkerFont" doit être converti en ".Markers.Font" dans le code VBA. Il en va de même pour les autres propriétés.
Les objets curseurs peuvent désormais envoyer les événements supplémentaires suivants : BeforeZoomVertically, QueryCancelZoomVertically, ZoomVerticallyCanceled, VerticallyZoomed, BeforeZoomHorizontally, QueryCancelZoomHorizontally, ZoomHorizontallyCanceled, HorizontallyZoomed, BeforeCurveTranslate, QueryCancelCurveTranslate, CurveTranslateCanceled et CurveTranslated.
Dans les objets FpCursor et Marker, la propriété Bounded a été renommée Bound. Ainsi, par exemple, ".Bounded" doit être remplacé par ".Bound" dans le code VBA. Les propriétés HarmonicsPositionIndex, HarmonicsPositionX et HarmonicsPositionY et les méthodes InterpolateValue et InterpolateRangeBetweenCursors ont été ajoutées, et les méthodes PlaceMarker et PlaceRangeMarker ont été étendues pour inclure un élément facultatif qui distingue les marqueurs locaux et globaux. L'objet Marqueur a été étendu en conséquence pour inclure la propriété ShowInAllViews. La méthode TranslateCurve a été ajoutée à l'objet FpCursor.
L'objet Axis2D comprend désormais les propriétés AssignedAxis, SizePercentage ainsi que la propriété Arrow, qui renvoie le nouvel objet AxisArrow. La propriété Subdivisions ne fournit plus un objet AxisSubdivisions, mais un objet AxisDivisions, qui ne contient plus la propriété Count. Cette propriété a été ajoutée aux objets Axis2DScaling et Axis3DScaling en tant que NumberOfSubDivsions. Ainsi, le ".Subdivisions.Count" doit être changé en ".Scaling.NumberOfSubdivisions" dans le code VBA.
Les objets Axis3D et ColorLegend3D comprennent désormais également la propriété Arrow. En ce qui concerne la propriété Subdivisions, il en va de même pour l'objet Axis2D.
La propriété Position de l'objet ColorLegend3D utilise désormais le nouveau type d'énumération FpColorLegendPosition. "ColorLegend.Position = fpPosition" doit être modifié dans le code VBA en "ColorLegend.Position = fpColorLegendPosition". La propriété Border ne fournit plus un objet de type LegendBorder, mais directement un objet de type LineFormat. Ainsi, "ColorLegend.Border.Visible = False" doit être remplacé par "ColorLegend.Border.Color = fpColorTransparent" ou "ColorLegend.Border.LineFormat.Color" par "ColorLegend.Border.Color" dans le code VBA.
L'objet Axis2DLabels et l'objet Axis3DLabels comprennent désormais les propriétés LabelUnit, UnitPosition et TransformAllLabels.
L'objet ColorLegend3DLabels comprend désormais les propriétés LabelUnit et UnitPosition.
Le mécanisme d'étiquetage des axes a été fondamentalement modifié dans FlexPro 8. Dans les objets Axis2DText, Axis3DText et ColorLegend3DText, la propriété Combine a été remplacée par la propriété UseTextsFromCurves. La sémantique, cependant, est différente de celle de Combine. Alors que Combine utilisait le texte stocké dans l'objet Axis2DText comme modèle pour toutes les courbes, UseTextsFromCurves prend les textes des nouveaux objets AxisLabel des courbes. Si votre code VBA contient des instructions telles que ".YAxis(1).Text.Text =", vous devrez les remplacer par ".Curves(i).YAxisLabel.Text = " if UseTextsFromCurvesestTrue. Vous devrez peut-être aussi modifier le texte lui-même s'il contient ces champs. La propriété MultiColor dans Axis2DText et Axis3DText a été renommée ColorAutomatic. Ainsi, ".Text.MultiColor" doit être remplacé par ".Text.ColorAutomatic" dans le code VBA. Les objets Axis2DText, Axis3DText et ColorLegend3DText ont également été étendus pour inclure les propriétés HorizontalOffset et VerticalOffset.
Les courbes peuvent maintenant être étiquetées et contenir les textes utilisés pour étiqueter tous les axes. Les courbes peuvent également être exclues de l'affichage et du curseur. L'objet Curve2D comprend désormais également la propriété CurveLabel, qui présente le nouvel objet CurveLabel, ainsi que les propriétés Visible, AutoScale, Cursors, YAxis, XAxis, YAxisLabel et XAxisLabel. Les propriétés YCursorFormat et XCursorFormat ont été supprimées de l'objet Curve2DData et déplacées vers l'objet Curve2D. Ainsi, par exemple, ".Data.YCursorFormat" doit être remplacé par ".YCursorFormat" dans le code VBA. L'objet Curve3D comprend désormais les propriétés suivantes : Visible, AutoScale, Curseurs, CurveLabel, YAxisLabel, XAxisLabel, ZAxisLabel et ColorLegendLabel. Les propriétés YCursorFormat, XCursorFormat et ZCursorFormat ont été supprimées de l'objet Curve3DDataSets et déplacées vers l'objet Curve3D. Ainsi, par exemple, ".Datasets.YCursorFormat" doit être remplacé par ".YCursorFormat" dans le code VBA.
Vous pouvez maintenant sélectionner l'algorithme pour la conversion des courbes spatiales des surfaces 3D. La collection Curve3DDataSets a donc été étendue pour inclure la propriété ConversionAlgorithm. Les propriétés Composed, DataSet et XDataSet ont été ajoutées afin que la première entrée de la collection apparaisse également dans la fenêtre Propriétés. En conséquence, les propriétés YValueObject, YComponent, XValueObject et XComponent ont été ajoutées.
Les courbes dans les graphiques 2D peuvent maintenant être traduites. L'objet Curve2DData comprend donc maintenant aussi les propriétés YOffset et XOffset.
Les objets Curve2DSymbols, Curve3DSymbols et Curve2DIndicators ainsi que le nouvel objet CurveLabels comprennent désormais la propriété Offset, qui définit le premier point de données à afficher.
Le choix des étiquettes de données pour les courbes ne se fait plus à l'aide d'un type fixe, mais plutôt à l'aide d'un texte dans lequel des caractères de remplacement peuvent être insérés pour les différents éléments du point de données. Les deux objets Curv2DLabels et Curve3DLabels ont été remplacés par le nouvel objet CurveLabels, qui comporte les propriétés Offset et BackgroundColor ajoutées et qui, au lieu des propriétés Text et Format, utilise la propriété Text. Le texte contient des champs pour les données à étiqueter. Ainsi, par exemple, ".Labels.Format = "%.4g" et ".Labels.Type = fpLabelTypeY" ou ".Labels.Type = fp3DLabelTypeY" doivent être remplacés par ".Labels.Texte = "%.4g<YValue>".
L'objet Légende a été étendu pour inclure la propriété LinyByLine. Les propriétés Border et Interior de l'objet Legend ne fournissent plus d'objets du type LegendBorder ou LegendInterior, mais directement un objet du type LineFormat ou FillFormat. Ainsi, "Legend.Interior.Visible = False" doit être remplacé par "Legend.Interior.Color = fpColorTransparent" ou "Legend.Interior.FillFormat.Color" par "Legend.Interior.Color" dans le code VBA. Pour Borderil faut remplacer "Legend.Border.Visible = False" par "Legend.Border.Color = fpColorTransparent" ou "Legend.Border.LineFormat.Color" par "Legend.Border.Color". En outre, l'objet Légende inclut les propriétés Title et TitleFont dans le nouvel objet LegendTitle. Ainsi, "Legend.Title" doit être remplacé par "Legend.Title.Title", "Legend.TitleFont" par "Legend.Title.Font" et "Legend.TitlePosition" par "Legend.Title.Position" dans le code VBA.
L'objet LegendEntry a été étendu pour inclure la méthode Select.
La taille des volets de la feuille de travail peut maintenant être ajustée et les volets peuvent être divisés. L'objet WorksheetPane a été étendu pour inclure les propriétés Width et Height et les méthodes SplitVertically et SplitHorizontally.
Des images peuvent désormais être ajoutées aux dessins. La taille des images peut également être mise à l'échelle en fonction de la taille de l'original. La collection Shapes a donc été étendue pour inclure la méthode AddImage, et l'objet Shape a été étendu pour inclure les propriétés HorizontalScale et VerticalScale.
Vous pouvez désormais également adapter la taille des tableaux au contenu. L'objet ColumnTable et l'objet CellTable ont donc été étendus pour inclure la méthode AdjustSizeToContent.
Le positionnement du titre du tableau a été amélioré. La propriété Position des objets ColumnTableTitle et CellTableTitle utilise désormais le nouveau type d'énumération FpTitlePosition. Dans le code VBA, "Title.Position = fpPosition" doit être remplacé par "Title.Position = fpTitlePosition".
La propriété Selection de l'objet Worksheet comporte désormais un objet WorksheetSelection qui, par rapport à l'objet FPObjects utilisé dans FlexPro 7, a été étendu pour inclure les méthodes SelectPane et Paste.
Modifications et améliorations apportées aux énumérations
Des éléments supplémentaires ont été ajoutés aux types d'énumération suivants : FpTextDataLinkDataType, FpBinaryDataLinkDataType, FpBinaryDataLinkResultDataType, FpDataType, FpShapeType, FpObjectType, FpTaskWindow, FpCoordinatesDisplayMode, FpCursorScaleAxisMode, FpLegendPosition, FpPenStyle, FpArrowheads, FpSymbolType, Fp3DSymbolType, FpColumnType, FpFillingType, FpEventIsolationEvent, FpEventIsolationResult, FpFourierSpectralProcedure, FpTimeFreqSpectralProcedure, FpTimeFreqAnalysisResult, FpFourierSpectrumType.
The FpMoveCursor enumeration type now includes the renamed elements fpMoveCursorNextValue, fpMoveCursorPreviousValue, fpMoveCursor10ValuesForward, fpMoveCursor10ValuesBack, fpMoveCursor10StepsUp, fpMoveCursor10StepsDown, fpMoveCursorSectionForward, fpMoveCursorSectionBack, fpMoveCursorSectionUp, fpMoveCursorSectionDown, fpMoveCursorNextCurve, fpMoveCursorPreviousCurve, fpMoveCursorBothNextCurve and fpMoveCursorBothPreviousCurve as well as other elements. Les noms précédents sont toujours supportés, mais doivent être remplacés dans votre code VBA.
Dans le type d'énumération FpAxisScalingMode, l'élément fpAxisScalingModeAutomatic a été remplacé par les éléments fpAxisScalingModeMinMax et fpAxisScalingModeDataRange. La signification de fpAxisScalingModeMinMax est la même que celle de fpAxisScalingModeAutomatic. Les informations sur la façon d'adapter le code VBA sont disponibles ci-dessus.
La matrice Rainflow de l'option Procédures de comptage peut désormais être calculée en trois variantes. Dans le type d'énumération FpRainflowCountMatrix, l'élément fpRainflowCountRainflowMatrix a été renommé en fpRainflowCountRainflowMatrixFromTo et deux éléments supplémentaires ont été ajoutés. La description précédente est toujours prise en charge, mais doit être remplacée dans votre code VBA.
Les types d'énumération suivants ont été ajoutés : FpBracketType, FpColorLegendPosition, FpTitlePosition, FpArrowPosition, FpUnitPosition, FpConversionAlgorithm, FpLoudnessResult, FpLoudnessAlgorithm, FpLoudnessSoundField, FpLoudnessCalibrationMode, FpNASACDFFormat, FpNASACDFCompression, FpNASACDFEncoding, FpCOMTRADEFormat, FpCOMTRADEVersion, FpHumanBodyVibrationDirection, FpHumanBodyVibrationProcedure, FpHumanBodyVibrationFrequencyWeighting, FpHumanBodyVibrationOutput, FpHandVibrationOutput, FpRenamingOptions, FpRainflowCountResidue and FpSignalScalingMode.
Les types d'énumération FpLabelType et Fp3DLabelType ont été supprimés. Les informations sur la façon d'adapter le code VBA sont disponibles ci-dessus.
Autres changements et améliorations
Les objets ExportSettingsNASACDF et ExportSettingsCOMTRADE ont été ajoutés. L'objet ExportSettings a été étendu en conséquence pour inclure les propriétés NASACDF et COMTRADE.
L'objet Global a été étendu pour inclure la propriété AsyncUpdate.
L'objet Application a été élargi pour inclure les propriétés AsyncUpdate et COMMAddIns et les méthodes ForceUpdate et DefragmentDatabase. Les méthodes Update et UpdateAll ont été étendues pour inclure un argument Async facultatif qui peut être utilisé pour exécuter une mise à jour en arrière-plan sous FlexPro Professional.
L'objet Base de données a été étendu pour inclure les propriétés SaveFormulaResults, SaveCalculatedPictures, FPScriptAutoDim, AutoUpdate et MaxDigits ainsi que la méthode ResetWindowArrangement. La méthode Consolidate, qui était utilisée pour défragmenter une base de données, a été supprimée, puisque dans FlexPro 8 il n'est plus possible de défragmenter une base de données lorsqu'elle est ouverte. À la place, vous devrez utiliser la fonction DefragmentDatabasede l'application Applicationdans le code VBA.
L'objet FpObjectParameter a été étendu pour inclure les propriétés Application et Parent.
Tous les objets FPObject ont donc été étendus pour inclure la méthode Rename, qui vous permet de contrôler dans quelle mesure les références à l'objet à renommer doivent être corrigées. En outre, la propriété FPScriptReference a été ajoutée, qui renvoie le nom et, le cas échéant, le chemin de l'objet dans la base de données au format de référence FPScript.
Pour une formule FPScript intégrée, la propriété ParentFolder renvoie désormais le dossier contenant l'objet de données auquel la formule fait référence. Dans ce cas, vous pouvez rétablir le comportement antérieur en utilisant la fonction Parentde la propriété Parent.
Dans tous les objets FPObject, la propriété ReadOnly peut désormais être également définie. Les propriétés Locked et Updating ainsi que la méthode ForceUpdate ont été ajoutées. La méthode ForceUpdate est également disponible dans les collections FpObjects et DocObjectSelection. La méthode Update a été étendue pour inclure un argument Async facultatif qui peut être utilisé pour exécuter une mise à jour en arrière-plan sous FlexPro Professional.
La collection DatabaseSelection a donc été étendue pour inclure les méthodes ConvertToFormula, Evaluate et Merge.
FlexProFlexPro 8 prend désormais en charge les ensembles de données contenant plus de 2 Go de données. Les entiers de 32 bits ne sont plus suffisants pour indexer une telle quantité de données. Malheureusement, Visual Basic ne prend pas en charge le type de données entier 64 bits. Par conséquent, le type de données à virgule flottante de 64 bits a été utilisé dans ces cas. Toutes les propriétés et méthodes qui utilisent des indices de données ont été converties en conséquence. Vous devrez convertir la variable appropriée dans le code VBA tant que vous n'aurez pas utilisé le type de données variant.
La propriété Visible de l'objet Curve2DLine et de l'objet Waterfall3DLine est maintenant fixée à False par défaut lorsqu'un nouveau graphique est créé. Vous devrez donc peut-être réviser la macro VBA que vous avez enregistrée à l'aide de FlexPro 7 et définir la propriété à Vrai.