При приведении объекта с использованием «as» возвращается значение null: myObject = newObject as MyObject; // ноль

Попробуйте это, добавив tmpRichTextBox в tmpTabPage, а затем добавив tmpTabPage в tabControl1

        TabPage tmpTabPage = new TabPage("Test");
        CustomRichTextBox tmpRichTextBox = new CustomRichTextBox();
        tmpRichTextBox.LoadFile(@"F:\aaData\IPACostData\R14TData\ACT0\1CALAEOSAudit_log.rtxt");

        // Attempted FIX. 
        tmpTabPage.SuspendLayout();
        tmpTabPage.Controls.Add(tmpRichTextBox); // This throws a NullReferenceException?? 
        tmpTabPage.ResumeLayout();

        tmpRichTextBox.Parent = tmpTabPage;

        tmpRichTextBox.WordWrap = tmpRichTextBox.DetectUrls = false;
        tmpRichTextBox.Font = new Font("Consolas", 7.8f);

        tmpRichTextBox.Dock = DockStyle.Fill;
        tmpRichTextBox.BringToFront();

        //tmpTabPage.Controls.Add(tmpRichTextBox);
        tabControl1.TabPages.Add(tmpTabPage); 
1
задан John Russell 3 May 2010 в 06:53
поделиться

2 ответа

Как вы уже выяснили, вам следует использовать registerClassAlias, поскольку RemoteClass работает "из коробки" только для проектов Flex (с возможностью связывания и т. Д.).

Обязательно вызовите registerClassAlias ​​перед любой сериализацией / десериализацией.

Кроме того, отладчик показывает вам действительную разновидность вашего параметра «o», который является объектом. Это показывает, что проигрыватель неправильно сопоставляет класс сериализованного объекта AMF с каким-либо из ваших классов (поэтому по умолчанию он идет с Object). Вы должны увидеть объект LobbyData в отладчике; в противном случае, как бы вы его не применяли / принуждали, это не сработает.

2
ответ дан 3 September 2019 в 00:53
поделиться

Objet необходимо объявить до вызова ответчика.

public function refreshRoom(event:Event)
{
var testObject:LobbyData=new LobbyData;
var resp:Responder=new Responder(handleResp,null);
ncLobby.call("getLobbyData", resp, null);
}
public function handleResp(o:Object):void
{

testObject = o as LobbyData;  
trace(testObject);
}
0
ответ дан 3 September 2019 в 00:53
поделиться
Другие вопросы по тегам:

Похожие вопросы: