Version 10 represents a major advancement with simplified concepts and new technologies. While most legacy projects upgrade smoothly, 100% compatibility cannot be guaranteed. All upgraded projects require validation in a lab environment before production deployment.
Table of Contents maxLevel 2 minLevel 2 indent 10px exclude Steps style none
Source Version | Direct Upgrade | Process |
---|---|---|
9.1, 9.2 | Yes | Direct upgrade to v10 |
Earlier than 9.1 | No | First upgrade to 9.1/9.2, then to v10 |
All projects must be revalidated in a lab environment before field deployment. This step is essential to confirm optimal functionality in the new version.
<project>.tproj
file in Solutions Manager folder.dbsln
file with same name.tproj
file remains intactAction | Result |
---|---|
Original file | Preserved unchanged |
New solution | Created as .dbsln |
Solution List | Shows only new .dbsln |
Legacy file | Hidden from list |
Issue: Table name change from EditSecurityUsers_Runtime
to SecurityRuntimeUsers
Required Action:
EditSecurityUsers_Runtime
SecurityRuntimeUsers
Applications using programmatic engineering (EngWrapper API) may lack compatibility due to internal structure changes. Contact support for upgrade assistance.
Version | Approach | Migration |
---|---|---|
9.2 | Complex customization | Manual review required |
10 | Simplified interface | Cannot fully automate |
Review screens and objects mapped to theme resources after upgrade.
Version 10 uses async programming patterns for improved performance and HTML5 compatibility.
C# Example:
csharp
public async Task DisplayOpening()
{
await @Script.Class.ServerMain.Method1();
}
VB.NET Example:
vbnet
Public Async Function DisplayOpening() As Task
Await @Script.Class.ServerMain.Method1()
End Function
Replace LogOn()
with LogOnAsync()
:
JavaScript:
javascript
this.DialogOnOK = async function()
{
var result = await @Client.LogOnAsync("user1", "pass1");
return true;
};
C#:
csharp
public async Task<bool> DialogOnOK()
{
var result = await @Client.LogOnAsync("user1", "pass1");
return true;
}
VB.NET:
vbnet
Public Async Function DialogOnOK() As Task(Of Boolean)
Dim result As Integer = Await @Client.LogOnAsync("user1", "pass1")
Return True
End Function
Legacy Code (Synchronous):
vbnet
Public Function DialogOnOK() As Boolean
Dim log As eSecurityErrors
log = DirectCast(@Client.LogOn(@Client.InputUserName, @Client.InputPassword), eSecurityErrors)
If log = eSecurityErrors.OK Then
@Display.LogOn.Close()
Return True
End If
Return False
End Function
Updated Code (Async):
vbnet
Public Async Function DialogOnOK() As Task(Of Boolean)
Dim log As eSecurityErrors
log = DirectCast(Await @Client.LogOnAsync(@Client.InputUserName, @Client.InputPassword), eSecurityErrors)
If log = eSecurityErrors.OK Then
@Display.LogOn.Close()
Return True
End If
Return False
End Function
All mnemonics require default values:
Version | Format | Example |
---|---|---|
Legacy | #HourOfDay: | Missing default |
v10 | #HourOfDay:"" | Includes default |
Use Drawing Properties for positioning:
Feature | Legacy | v10 |
---|---|---|
Method | Docking/alignment | New layout system |
Multi-level menus | Multiple docked windows | Single header window |
Submenus | Separate windows | ChildDisplay controls |
Feature | Status | Alternative |
---|---|---|
Synchronous SQL calls | Warning issued | Use async methods |
Custom theme editing | Not supported | Use standard themes |
<TagProvider>.("Topic Path") syntax | Removed | Map to AssetTree |
XPS documents | Not supported | Use PDF or other formats |
Issue | Solution |
---|---|
Display errors | Update async methods in CodeBehind |
Database failures | Rename RuntimeUsers table |
Theme problems | Review color mappings |
Layout issues | Redesign using new system |
Page Tree | ||||
---|---|---|---|---|
|