Trouble betweeen xp32 and xp64 within the same vs 2003 app

Hi there,

We have an app here we are developing, using vs 2003 visual basic and asp.net. For the past months, we only used vs 2003 pro under xp32 machines.

Recently, 2 new atlhon 64 machines, running xp64 joined the developing team, using too vs 2003 pro.

For some kind of strange reason, i dont know if its possible, but it seen that the code that was handled on Xp 64 machines and returned to xp32 machines stopped to work correctly.

For example, there is a web user control developed under xp32 machine, that have an event within a textbox textchange event. I works correctly once, but when I worked with the code on the xp 64, and returned it to the xp32, weird things started to happen. The textchange event pops from nonwhere, without user writing anything on the box. The event is called several times on postback, even if it wasnt changed.

What makes me feel xp64 do had some kind of change on code is that on x64 the same exact code works fine, but when I put it on a xp32 machine this weird things start to happen.

So, had someone experienced any kind of related or similar problem I even tried to delete assemblyinfo, but wont worked. I even tried to put the pages on a new project, but the pages stop to work, telling me that cant anymore find the types.

Thanks for any advice!



Answer this question

Trouble betweeen xp32 and xp64 within the same vs 2003 app

  • rawdrib

    I see you are using Ajax in your website. Ajax creates an activex object MsXml2.XMLHTTP to comunicate between the client and server side of the aspx page. Check and see if see if activex controls are enabled in the internet explorer options. You will need to check security tab of the internet options for the activex controls settings in the internet and local intranet zones.


  • Erling Johansen

    Post some code

  • Kevin

    Update on issue:
    With the compiled code, on xp64 or xp32, I got the Dlls and the pages and user controls, and put they on several machines to test. The very very same files give me different results.
    On Xp 64 and on 2003 Server, the code works correctly. Running on xp 32 SP 2, events stop to work.

    It happen, for example, on two different datagrids, each one with radiolist within. On the xp 64 or 2003 server, when I click on the second radiolist, it call the event correctly. When I do the same on xp 32 sp 2, it calls the event for the first radio list. Even if I put any other kind of object, like simple textbox, it insist calling the event of the radio on first datagrid.

    Below, part of the html with the grids.

    <%@ Register TagPrefix="uc1" TagName="wucBusca" Src="wucBusca.ascx" %>
    <%@ Control Language="vb" AutoEventWireup="false" Codebehind="wucOSGerar.ascx.vb" Inherits="EloTools.Web.wucOSGerar" TargetSchema="
    http://schemas.microsoft.com/intellisense/ie5" %>
    <%@ Register TagPrefix="uc1" TagName="wucDisponibilidadeEquipamento" Src="wucDisponibilidadeEquipamento.ascx" %>
    <%@ Register TagPrefix="ajax" Namespace="MagicAjax.UI.Controls" Assembly="MagicAjax" %>
    <%@ Register TagPrefix="uc1" TagName="wucListagem" Src="wucListagem.ascx" %>
    <TABLE class="table_wuc" id="Table1" cellSpacing="1" cellPadding="1" width="100%" border="0">
    <TR>
    <TD style="HEIGHT: 20px"><asp:label id="lblOrcamento" runat="server" Font-Bold="True"></asp:label>:</TD>
    </TR>
    <TR>
    <TD colSpan="2"><ajax:ajaxpanel id="AjaxPanel1" runat="server">
    <asp:datagrid id="dgOrcamento" runat="server" Width="600px" AutoGenerateColumns="False">
    <Columns>
    <asp:TemplateColumn HeaderStyle-Height="5%">
    <HeaderTemplate>
    </HeaderTemplate>
    <ItemTemplate>
    <asp:RadioButton ID="rbOrcamento" Runat="server" AutoPostBack="True" OnCheckedChanged="OrcamentoClick"
    GroupName="Orcamento"></asp:RadioButton>
    </ItemTemplate>
    </asp:TemplateColumn>
    <asp:TemplateColumn>
    <HeaderTemplate>
    ID
    </HeaderTemplate>
    <ItemTemplate>
    <%# DataBinder.Eval(Container.DataItem, "Orcamento_ID") %>
    </ItemTemplate>
    </asp:TemplateColumn>
    <asp:TemplateColumn>
    <HeaderTemplate>
    Cliente
    </HeaderTemplate>
    <ItemTemplate>
    <%# DataBinder.Eval(Container.DataItem, "Cliente_Nome") %>
    </ItemTemplate>
    </asp:TemplateColumn>
    <asp:TemplateColumn>
    <HeaderTemplate>
    Servico
    </HeaderTemplate>
    <ItemTemplate>
    <%# DataBinder.Eval(Container.DataItem, "Orcamento_Servico") %>
    </ItemTemplate>
    </asp:TemplateColumn>
    <asp:TemplateColumn>
    <HeaderTemplate>
    Data de aprovacao
    </HeaderTemplate>
    <ItemTemplate>
    <%# DataBinder.Eval(Container.DataItem, "Orcamento_DataAprovacao") %>
    </ItemTemplate>
    </asp:TemplateColumn>
    <asp:TemplateColumn>
    <HeaderTemplate>
    Prazo de entrega
    </HeaderTemplate>
    <ItemTemplate>
    <%# DataBinder.Eval(Container.DataItem, "Orcamento_PrazoEntrega") %>
    </ItemTemplate>
    </asp:TemplateColumn>
    <asp:TemplateColumn>
    <HeaderTemplate>
    Vendedor
    </HeaderTemplate>
    <ItemTemplate>
    <%# DataBinder.Eval(Container.DataItem, "Vendedor_Nome") %>
    </ItemTemplate>
    </asp:TemplateColumn>
    <asp:TemplateColumn>
    <HeaderTemplate>
    Prioridade
    </HeaderTemplate>
    <ItemTemplate>
    <%# DataBinder.Eval(Container.DataItem, "Orcamento_Prioridade") %>
    </ItemTemplate>
    </asp:TemplateColumn>
    </Columns>
    </asp:datagrid>
    </ajax:ajaxpanel></TD>
    </TR>
    <TR>
    <TD colSpan="2">
    <TABLE id="Table2" cellSpacing="1" cellPadding="1" width="300" border="1">
    <TR>
    <TD><asp:label id="Label1" runat="server">Emissao</asp:label><asp:textbox id="TextBox1" runat="server"></asp:textbox></TD>
    <TD><asp:label id="Label2" runat="server">Inicio</asp:label><asp:textbox id="TextBox3" runat="server"></asp:textbox></TD>
    <TD><asp:label id="Label3" runat="server">Termino</asp:label><asp:textbox id="TextBox4" runat="server"></asp:textbox></TD>
    </TR>
    <TR>
    <TD></TD>
    <TD></TD>
    <TD></TD>
    </TR>
    <TR>
    <TD></TD>
    <TD></TD>
    <TD></TD>
    </TR>
    </TABLE>
    </TD>
    </TR>
    <TR>
    <TD colSpan="2"><asp:label id="lblItens" runat="server" Font-Bold="True"></asp:label></TD>
    </TR>
    <TR>
    <TD colSpan="2"><ajax:ajaxpanel id="Ajaxpanel2" runat="server">
    <asp:datagrid id="dgItem" runat="server" Width="600px" AutoGenerateColumns="False">
    <Columns>
    <asp:TemplateColumn HeaderStyle-Width="5%">
    <HeaderTemplate>
    </HeaderTemplate>
    <ItemTemplate>
    <asp:RadioButton ID="rbItem" Runat="server" AutoPostBack="True" OnCheckedChanged="ItemClick" GroupName="Item"></asp:RadioButton>
    </ItemTemplate>
    </asp:TemplateColumn>
    <asp:TemplateColumn>
    <HeaderTemplate>
    Item
    </HeaderTemplate>
    <ItemTemplate>
    <%# DataBinder.Eval(Container.DataItem, "Item_Descricao") %>
    </ItemTemplate>
    </asp:TemplateColumn>
    </Columns>
    </asp:datagrid>
    </ajax:ajaxpanel></TD>
    </TR>

    So Notice I call two protected events: OrcamentoClick on the first grid and ItemClick on the second grid

    Protected Sub OrcamentoClick(ByVal sender As Object, ByVal e As EventArgs)
    Dim rb As RadioButton
    rb = sender
    For Each i As DataGridItem In dgOrcamento.Items
    rb = i.FindControl("rbOrcamento")
    intOrcamento_ID = Convert.ToInt32(dgOrcamento.DataKeys(i.ItemIndex))

    viewstate("Orcamento_id") = intOrcamento_ID
    viewstate("Item_id") = 0
    viewstate("Operacao_id") = 0

    intItem_ID = 0
    intOperacao_ID = 0

    If rb.Checked Then
    CarregaItem()
    CarregaOperacao()
    CarregaSubOperacao()
    CarregaComponente()
    CarregaMateriaPrima()
    End If

    Next
    End Sub

    Protected Sub ItemClick(ByVal sender As Object, ByVal e As EventArgs)
    Dim rb As RadioButton
    rb = sender
    For Each i As DataGridItem In dgItem.Items
    rb = i.FindControl("rbItem")
    If rb.Checked Then
    intItem_ID = Convert.ToInt32(dgItem.DataKeys(i.ItemIndex))
    viewstate("Item_id") = intItem_ID
    viewstate("Operacao_id") = 0

    intOperacao_ID = 0

    CarregaOperacao()
    CarregaSubOperacao()
    End If
    Next
    End Sub

    The problem is that allways, It dont trigger ItemClick. It just trigger orcamentoclick. No matter if put even other object, or even if i remove the OnCheckedChanged="ItemClick", because it still trigger the OrcamentoClick event. This simply *dont happen* on XP 64 or windows server 2003.

    Very confusing!

    If you wanna see, please pm or msn renato@eloplus.com, and i can sent you the link.


  • Wolfgang Henrich

    Can you post a scaled down version of your page I'd like to try to reproduce what you are seeing, but i don't have all of the referenced web controls in your sample above

    Also, can you verify the version of ASP.NET you are using in the 2 configurations

    thanks!


  • mew1909

    Hi there Ken,

    Ajax isnt the problem, since all the application is ajax-oriented, and it works fine. Like I said, the problem seen to be where the application is hosted, since when I access the application hosted in the xp64 or win 2003 server (using my xp 32 sp2 machine ie 6) it works fine. But when i access the app hosted on my own machine or another xp32 machine based OS the events dont work correctly anymore.

    For this kind of test, I compiled the app on windows xp 64, and hosted the very same files on several systems. I accessed all of they on my xp32, and only the 64 and 2003 provided the correct event handling.


  • Trouble betweeen xp32 and xp64 within the same vs 2003 app