Skip to content

Commit acec4e5

Browse files
committed
fixes #56 (NullReferenceException on loading)
1 parent a76eea4 commit acec4e5

File tree

3 files changed

+6
-3
lines changed

3 files changed

+6
-3
lines changed

RevitPythonShell/RevitPythonShellApplication.cs

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,10 @@ Result IExternalApplication.OnStartup(UIControlledApplication application)
5252
}
5353
catch (Exception ex)
5454
{
55-
TaskDialog.Show("Error setting up RevitPythonShell", ex.ToString());
55+
var td = new TaskDialog("Error setting up RevitPythonShell");
56+
td.MainInstruction = ex.Message;
57+
td.ExpandedContent = ex.ToString();
58+
td.Show();
5659
return Result.Failed;
5760
}
5861
}
@@ -61,7 +64,7 @@ private static void ExecuteStartupScript(UIControlledApplication uiControlledApp
6164
{
6265
// we need a UIApplication object to assign as `__revit__` in python...
6366
var versionNumber = uiControlledApplication.ControlledApplication.VersionNumber;
64-
var fieldName = versionNumber == "2017" ? "m_uiapplication": "m_application";
67+
var fieldName = int.Parse(versionNumber) >= 2017 ? "m_uiapplication": "m_application";
6568
var fi = uiControlledApplication.GetType().GetField(fieldName, BindingFlags.NonPublic | BindingFlags.Instance);
6669
var uiApplication = (UIApplication)fi.GetValue(uiControlledApplication);
6770
// execute StartupScript

RpsRuntime/RpsExternalApplicationBase.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -173,7 +173,7 @@ private void ExecuteStartupScript(UIControlledApplication uiControlledApplicatio
173173
{
174174
// we need a UIApplication object to assign as `__revit__` in python...
175175
var versionNumber = uiControlledApplication.ControlledApplication.VersionNumber;
176-
var fieldName = versionNumber == "2017" ? "m_uiapplication" : "m_application";
176+
var fieldName = int.Parse(versionNumber) >= 2017 ? "m_uiapplication" : "m_application";
177177
var fi = uiControlledApplication.GetType().GetField(fieldName, BindingFlags.NonPublic | BindingFlags.Instance);
178178
var uiApplication = (UIApplication)fi.GetValue(uiControlledApplication);
179179
// execute StartupScript

0 commit comments

Comments
 (0)