作者Arton0306 (没有怎麽办)
看板C_Sharp
标题[问题] GUI与主程式的结合
时间Fri Dec 29 07:51:23 2006
修区网有一个project 做dhcp server
目前是有分做GUI的
另外还有写主程式的
目前遇到一个问题是如何把GUI和主程式结合
两者是有一些共同的变数的 这些变数放在主程式中
主要问题是gui和主程式都会修改这些变数
我们目前做法是 gui和主程式都各有一份变数
当程式开启时 GUI会读入一个资料档,再手动设定一些东西 并且按下「开始」後
会开一个thread跑主程式,主程式这边有一些function,让gui可以利用这些
function把资料传过来,如addxxx() deletexxx() modifyxxx()。
而主程式也是利用gui那边的一些函式把主程式这里的一些物件传过去。
例如当一个client端连过来,主程式处理完会发一个dhcppacket给他,如此会变动主程式
中的变数等,同时也要改变gui上的显示(新增一个client端),这里我们的做法是
在主程式中呼叫gui那边的addyyy() deleteyyy() modifyyyy()。
如此又产生一个新问题,因为是由gui来呼叫主程式启动的,gui看的到addxxx(),
但主程式看不到gui的addyyy() deleteyyy() modifyyyy()。
後来我们又想说把gui那边的addyyy()直接摆到主程式中,而gui在呼叫主程式就同时把
gui那些栏位表格的ref丢过来,因此就可以在主程式中直接修改gui。
同样的,又有问题了。gui是由gui的main thread所建,而主程式是另一个thread,
要去修改gui必须要处理thread间的问题。这里是有办法解决的。
但是我想知道是否有更好的架构,
或者一般主程式和gui的结合是否有某种一般性的良好写法呢?
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 210.58.5.192