2010-10-15 83 views
1

Im在erlang wx模塊中遇到了一些麻煩。ERLANG - wxGrid寄存器

我的程序運行過程如下:

Server = wx:new(), 
Frame = wxFrame:new(Server, -1, "" [{size,{700, 600}}]), %%%REFERENCE TO WINDOW 
Panel = wxPanel:new(Frame), %%% REF TO PANEL IN FRAME 

然後我通過面板到另一個進程,並嘗試創建一個網格

XreportZ = wxGrid:new(Panel, 24, [ {pos, {0,0}} , {style, 1}]), 

出現的問題,當我通過面板,二郎說,對象Panel在其本地進程之外變得無效。那麼我怎樣才能在產生它的函數之外引用Panel呢?我不相信寄存器可以用於此。我相信答案就在於引用服務器並取回Panel ID。

到目前爲止,我仍然無法找到答案。

回答

1

你試過「wx:get_env/0」嗎?

我不是wxErlang/wxWidgets的內部太深,但也許這可能是一個開始......

+0

雖然這是正確的,只有一半的真理。使用get env將令牌發送到另一個進程並設置env。這應該工作。 :) – 2010-10-17 08:38:10

+0

聽起來像在Erlang的功能方法的結束:o) – Zed 2010-10-17 17:47:03