2011-08-22 118 views
0

有三個公共變量錯誤在打印

public var objPrintJob:FlexPrintJob; 
public var objPrintTemplate:canvas; 

Fn1的:

objPrintJob = new FlexPrintJob(); 
if (objPrintJob.start() != true) 
{ 
     printCount--; 
     return; 
} 

開始PrintJob的;

Fn2的:

Am adding the Object and calling send for the Print 

objPrintJob.addObject(objPrintTemplate, FlexPrintJobScaleType.SHOW_ALL); 
objPrintJob.send(); 

在運行

它拋出的錯誤:

TypeError: Error #1009: Cannot access a property or method of a null object reference. 
    at mx.printing::FlexPrintJob/addObject()[E:\dev\4.0.0\frameworks\projects\framework\src\mx\printing\FlexPrintJob.as:252] 
    at org.dckap.mafcote.views.mediators::WorkAreaMediator/parseXML()[F:\MafcoteMGP\MafcoteMGP\src\org\dckap\mafcote\views\mediators\WorkAreaMediator.as:3243] 
    at org.dckap.mafcote.views.mediators::WorkAreaMediator/onSaveTemplateWithCredits()[F:\MafcoteMGP\MafcoteMGP\src\org\dckap\mafcote\views\mediators\WorkAreaMediator.as:2896] 
    at flash.events::EventDispatcher/dispatchEventFunction() 
    at flash.events::EventDispatcher/dispatchEvent() 
    at mx.core::UIComponent/dispatchEvent()[E:\dev\4.0.0\frameworks\projects\framework\src\mx\core\UIComponent.as:12266] 
    at org.dckap.mafcote.views::CreditsShowPanel/okButtonClickHandler()[F:\MafcoteMGP\MafcoteMGP\src\org\dckap\mafcote\views\CreditsShowPanel.mxml:41] 
    at org.dckap.mafcote.views::CreditsShowPanel/__btnOk_click()[F:\MafcoteMGP\MafcoteMGP\src\org\dckap\mafcote\views\CreditsShowPanel.mxml:159] 

需要幫助的..

   } 
+0

您在提問時應該真正改進您的示例。此外,你從來沒有實例化你的畫布(爲什麼你在Flex 4應用程序中使用canvas?)。 –

+0

我啓動了對象,並且它有一個孩子。 – Exhausted

回答

0

經過您的支持,我發現了我的解決方案。 謝謝大家。

該對象似乎不是null。 我犯了一個錯誤,那就是我沒有在其他地方把孩子添加爲孩子。 因此打印中的addObject()需要systemManager。 如果我不作爲孩子添加,它將爲空。

感謝您的支持

2

這必須是你的objPrintTemplate對象爲null。您的錯誤中的堆棧跟蹤顯示它在FlexPrintJob/addObject()中出錯,這意味着它將其轉換爲該方法,但未完成執行該方法。由於您發送給它的唯一參數是您的對象引用和常量值,因此該對象必須爲空。

+0

我啓動了該對象,並在其中有一個孩子。 – Exhausted

+0

我不認爲還有更多的東西可以從你發佈的內容中找到。我建議你在addObject()方法之前添加一個斷點,然後調試你的應用程序以檢查這些對象引用並確保它們確實不爲空。 – HotN