现在作一个基于语音卡的程序,这里碰到一个没法有效区别两条线路对应的问题:我需要随便一条外线接通后再连接一条内线
这时我设置了一个全局变量Oid和Iid;当我得知外线接通了是Oid线,那我遍寻内线,那个空闲就接能那条假设[Oid,Iid}为[1,2]其中内线0和1是占线的;这时我在另一些事件中要判断当Oid(1)外线触发某类事件或方法时,跟着Iid(2)内线也就响应相应的方法和动作;但是这时很可能Oid和Iid值已经变了,可能变[1,0]了这里假设;那当我获取到外线或内线编号时却找不到了对应的内线或外线的对象了,这里有没有什么变量可以自关系一开始就绑定二个的关系而不变,直至当宣布的解散事件触发后,这种绑定关系数据才释放。想了二维数据,也不行;不知怎么对应,不要告诉我是枚举,把所有的组合可能都列出来,再对应,那是绝的没有办法的办法,我的线路是可以扩展到64*64=4096种;枚举理论可通。实际操作太困难,非万不得已不会用
以上在线急等!
这时我设置了一个全局变量Oid和Iid;当我得知外线接通了是Oid线,那我遍寻内线,那个空闲就接能那条假设[Oid,Iid}为[1,2]其中内线0和1是占线的;这时我在另一些事件中要判断当Oid(1)外线触发某类事件或方法时,跟着Iid(2)内线也就响应相应的方法和动作;但是这时很可能Oid和Iid值已经变了,可能变[1,0]了这里假设;那当我获取到外线或内线编号时却找不到了对应的内线或外线的对象了,这里有没有什么变量可以自关系一开始就绑定二个的关系而不变,直至当宣布的解散事件触发后,这种绑定关系数据才释放。想了二维数据,也不行;不知怎么对应,不要告诉我是枚举,把所有的组合可能都列出来,再对应,那是绝的没有办法的办法,我的线路是可以扩展到64*64=4096种;枚举理论可通。实际操作太困难,非万不得已不会用
以上在线急等!
是不是这个意思:全局变量Oid, Iid 将一对外线和内线的绑定起来?
那么Oid, Iid不应该是全局变量
而应该设置一个数组,例如
var OIDLink :array [0..63] of Integer;
OIDLink[1] = 2;
表示第1条外线绑定到第2条内线
是不是说,在CallIn事件中,能够设置当前Oid,Iid,
需要把Oid,Iid传到 Answer方法中去?
你的Answer方法不能加一个参数吗?
procedure Answer(Oid, Iid:Integer)