Spread 5 -- Terminal Service issue is back

Posted by: dotnetuser on 8 September 2017, 2:38 pm EST

  • Posted 8 September 2017, 2:38 pm EST

    The latest Spread 5.0.3518.2008 has the following issue that we already reported previously:


    http://www.clubfarpoint.com/Forums/forums/74051/ShowThread.aspx#74051


     

  • Replied 8 September 2017, 2:38 pm EST

    I wanted to let you know you are not being ignored, we are just having trouble looking into this. please stay tuned.
  • Replied 8 September 2017, 2:38 pm EST

    Just a suggestion to help you pin point the problem... We already had this issue with spread 4 and you sent us a patch that solved this issue.


    Could the the solution be the same for the same problem we had with spread 4? 

  • Replied 8 September 2017, 2:38 pm EST

    Hello,

    Currently, we do not have a Terminal Server setup here. However, I am looking into this and will update you on how we can work further on this one.
  • Replied 8 September 2017, 2:38 pm EST

    If you read carefully the previous post I pointed in my link (spread 4 at the time), I indicated that this issue is related to TS (Terminal Service) connection only and using RDC you wont be able to reproduce it. MSTSC uses the same concept as RDC.


    "When running the application using RDC session (Remote Desktop Connection) everything is OK."


     


    A lot of users now a day are on TS (Terminal Service) which makes spread 5 un-usable for them.


     

  • Replied 8 September 2017, 2:38 pm EST

    Hello,

    I could not test this issue using Terminal services however I tested it using MSTSC and found that ComboBox issue can not be replicated. Please let me know if you can reproduce the issue using MSTSC also.

     

    Thanks,

     

  • Replied 8 September 2017, 2:38 pm EST

    Do you have a defect # we gave to you when we fixed this before? I've spoken to some of the people involved in your referenced thread and they seem to think that we never fully fixed this problem and we lost contact with the customer before we had nailed it down. I spoke to the Product Managers about this and they say they need more information. Specific steps to reproduce the problem as much information as you can give us about your environment. A sample app that reproduces it.
  • Replied 8 September 2017, 2:38 pm EST

    We received this email below from Scotts on February-05-09 12:13 PM 1 :


     Subject: Spread in Terminal Services


     


     


    Hello,


     


    We believe we have found the cause of this issue and have fixed it, but have no way of testing this without setting up the environment like you have it. Would it be better for us to send you a build with the fix for you to test it to see if it fixes the issue you are seeing and let us know. If so, send me your serial number so we can verify you are a registered user.


     


     


    Click on the link below to reply to the private message.


    http://www.clubfarpoint.com/Forums/forums/thread/74410.aspx


    It's in a private forum and you provided a link to download the patched spread which fixed the problem.


    As for how to reproduce it, if you run any "published" Terminal service application with a spread containing a dropdown you can't select any item in the dropdown.

  • Replied 8 September 2017, 2:38 pm EST

    Using VS 2008 VB  create a windows application, create a form1 add a spread 5 control to the form and add the following code to the form1_load event:


    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load


    spdTest.Sheets(0).RowCount = 4


    spdTest.Sheets(0).ColumnCount = 4


    Dim items As String() = New String() {"One", "Two", "Three", "Four"}


     


     


     


    Dim cboCellType As FPComboCellType = New FPComboCellType


    cboCellType.Items = items


    spdTest.Sheets(0).Columns(1).CellType = cboCellType


     


     


     


    End Sub


    Add a class to the project and in the class add the following code:


    Public Class FPComboCellType


    Inherits FarPoint.Win.Spread.CellType.ComboBoxCellType


    Private cNew As ADDFPCombo


    Public Overrides Function GetEditorControl(ByVal appearance As FarPoint.Win.Spread.Appearance, ByVal zoomFactor As Single) As Control


    Try


    Dim cOrig As FarPoint.Win.FpCombo


    cOrig = CType(MyBase.GetEditorControl(appearance, zoomFactor), FarPoint.Win.FpCombo)


    cNew = New ADDFPCombo


    cNew.Formatter = cOrig.Formatter


    cNew.ButtonStyle = cOrig.ButtonStyle


    cNew.AutoHeight = cOrig.AutoHeight


    cNew.BorderStyle = cOrig.BorderStyle


    cNew.Editable = cOrig.Editable


    cNew.Multiline = cOrig.Multiline


    cNew.WordWrap = cOrig.WordWrap


    cNew.AcceptsReturn = cOrig.AcceptsReturn


    cNew.ListOffset = cOrig.ListOffset


    cNew.List = cOrig.List


    cNew.MaxDrop = cOrig.MaxDrop


    cNew.ListWidth = cOrig.ListWidth


    cNew.MarginLeft = cOrig.MarginLeft


    cNew.AutoSearch = cOrig.AutoSearch


    cNew.ListAlignment = cOrig.ListAlignment


    cNew.MaximumLength = cOrig.MaximumLength


    cNew.ButtonWidth = cOrig.ButtonWidth


    cNew.AcceptsArrowKeys = cOrig.AcceptsArrowKeys


    cNew.ListControl = cOrig.ListControl


    cNew.NullColor = cOrig.NullColor


    cNew.ForeColor = cOrig.ForeColor


    cNew.Font = cOrig.Font


    'Fixing cbo issue with Terminal services


    'cNew.Editable = True


    Return cNew


    Catch ex As Exception


    End Try


    End Function 'GetEditorControl


    Public Overrides Function GetEditorValue() As Object


    Select Case EditorValue


    Case FarPoint.Win.Spread.CellType.EditorValue.String


    Return cNew.Text


    Case FarPoint.Win.Spread.CellType.EditorValue.Index


    Return cNew.SelectedIndex


    End Select


    Return Nothing


    End Function 'GetEditorValue


    Public Overrides Sub ShowSubEditor()


    End Sub


    Public Overrides Sub SetEditorValue(ByVal value As Object)


    If cNew Is Nothing Then


    Return


    End If


    If value Is Nothing Or value Is DBNull.Value Then


    cNew.SelectedIndex = -1


    If Editable And Not (cNew Is Nothing) Then


    cNew.Text = Nothing


    End If


    Else


    If EditorValue = FarPoint.Win.Spread.CellType.EditorValue.String Then


    Dim s As [String] = value.ToString()


    If Not (ListControl Is Nothing) Then


    If ListControl.FindString(s) <> -1 Or cNew.Editable Then


    cNew.Text = s


    End If


    Else


    If cNew.List.Contains(s) Or cNew.Editable Then


    cNew.Text = s


    End If


    If cNew.List.Contains(s) Then


    cNew.SelectedItem = s


    End If


    End If


    Else


    If EditorValue = FarPoint.Win.Spread.CellType.EditorValue.Index Then


    Dim index As Integer = -1


    Try


    index = Convert.ToInt32(value)


    Catch


    End Try


    cNew.SelectedIndex = index


    Else


    cNew.SelectedIndex = -1


    End If


    End If


    End If


    End Sub 'SetEditorValue


    Public Overrides Function StopEditing() As Boolean


    If Not (cNew Is Nothing) Then


    cNew.ShowList(False)


    End If


    FireEditingStopped()


    If Not (cNew Is Nothing) Then


    cNew.Dispose()


    cNew = Nothing


    End If


    Return True


    End Function 'StopEditing


    Public Overrides Sub StartEditing(ByVal e As EventArgs, ByVal selectAll As Boolean, ByVal autoClipboard As Boolean)


    If Not ((e Is Nothing) Or (cNew Is Nothing)) Then


    Dim rc As Rectangle = cNew.Bounds


    Dim rectButton As New Rectangle(rc.X + rc.Width - 14, rc.Y, 14, rc.Height)


    If TypeOf e Is MouseEventArgs AndAlso Not Editable AndAlso Not rectButton.Contains(New Point(CType(e, MouseEventArgs).X, CType(e, MouseEventArgs).Y)) Then


    cNew.Focus()


    cNew.ShowList(True)


    Else


    If selectAll And Editable Then


    cNew.EditModeCursorPosition = FarPoint.Win.EditModeCursorPosition.SelectAll


    cNew.SelectAll()


    Else


    cNew.EditModeCursorPosition = FarPoint.Win.EditModeCursorPosition.End


    End If


    If ((TypeOf e Is KeyPressEventArgs) And (Not (Editable))) Then


    Dim WM_CHAR As Integer = 258


    Dim m As Message = Message.Create(cNew.Handle, WM_CHAR, New IntPtr(AscW(CType(e, KeyPressEventArgs).KeyChar)), New IntPtr(0))


    cNew.WindowTarget.OnMessage(m)


    End If


    End If


    End If


    End Sub 'StartEditing


    '


    Public Overrides Sub CancelEditing()


    If Not (cNew Is Nothing) Then


    cNew.ShowList(False)


    End If


    FireEditingCanceled()


    If Not (cNew Is Nothing) Then


    cNew.Dispose()


    cNew = Nothing


    End If


    End Sub 'CancelEditing


    Public Sub New()


    End Sub


    End Class 'myComboCellType


    Public Class ADDFPCombo


    Inherits FarPoint.Win.FpCombo


    Protected Overrides Function IsInputKey(ByVal keyData As Keys) As Boolean


    If keyData = Keys.Return Then


    Return False


    End If


    Return MyBase.IsInputKey(keyData)


    End Function 'IsInputKey


    Protected Overrides Sub WndProc(ByRef m As Message)


    Select Case m.Msg


    Case &H102 ' WM_CHAR


    If (True) Then


    If m.WParam.ToInt32() = 13 Then


    Return


    End If


    End If


    End Select


    MyBase.WndProc(m)


    End Sub 'WndProc


    End Class 'myCombo


    Now you need to publish this application and run it on Terminal Service.


    Here is a link that will explain you how to do it and the pre-requisets:


     http://technet.microsoft.com/en-us/library/cc730673.aspx


    Now if you run the "published" application on TS when you click on the combo it will flash and you cannot select any items.


     


     

  • Replied 8 September 2017, 2:38 pm EST

    What other problems this release caused?


    I can send you the Farpoint DLLs that are in use for a long time now with no glitch and except for some minor scrolling issues that you fixed in Spread 5, they working fine and they operate well with Terminal Service.


    I can't attach the DLLs to the post because they're too big, but I can send them via email if you provide me one. 


     


     


     

  • Replied 8 September 2017, 2:38 pm EST

    Yes, please send the sample application along with DLL's to powersupport@grapecity.com
  • Replied 8 September 2017, 2:38 pm EST

    Yes I spoke to Scott, he's the one who remembers that we did not  fix it entirely, this fix he sent you apparently worked briefly but had other issues. The product managers have asked for a sample so they can understand the messaging problems with communicating through the Terminal Service interface.
  • Replied 8 September 2017, 2:38 pm EST

    Hello,

    I have reported this issue to our QA team as a bug. I will let you know once I get an update about this issue. The bug number for this case is #99922213.

     

    Thanks,

     

  • Replied 8 September 2017, 2:38 pm EST

    Hello,

    The development team needs a download link for the citrix terminal server, so as to recreate the environment at their end and test the issue further. Could you please provide us more information in this regard.

    Thanks,

    Manpreet Kaur

  • Replied 8 September 2017, 2:38 pm EST

    This issue shows as having never been resolved. Version 5.0.##22.2008 was the last maintenance release of version 5, there will not be another. I would suggest you try a free trial of Spread.NET 6 and see if it has the same issue. If it does then they will fix it in version 6. I don't think they ever got the environment set up to test your issue before the last maintenance release of Spread 5 came out.
  • Replied 8 September 2017, 2:38 pm EST

    Noticed that the fix is not in the following version:



    Version 5.0.3522.2008

    Release Date 08/23/2011



    We need an ETA for this fix, it's very important for us. When do you plan to fix it?

Need extra support?

Upgrade your support plan and get personal unlimited phone support with our customer engagement team

Learn More

Forum Channels