注册 登录
编程论坛 PowerBuilder

[讨论]一个按钮脚本能不能用2次OpenWithParm来打开同一个窗口?

SingleLove 发布于 2006-03-18 14:17, 928 次点击

我把正段代码弄上来大家看看:
decimal{4} ldc_return, ldc_money_sum, ldc_IC
long ll_insert_row, ll_row_count
string ls_consume_no

if idc_ys <= 0 then
MessageBox("³ö´í", "Ó¦ÊÕ½ð¶î±ØÐë´óÓÚÁ㣡", Exclamation!)
Return
end if

//µ±ÒѸ¶½ð¶î´óÓÚÓ¦ÊÕʱ²»´ò¿ªIC¿¨Ïû·Ñ£¡
ll_row_count = dw_payment.RowCount()
if ll_row_count > 0 then
ldc_money_sum = dw_payment.GetItemDecimal(ll_row_count, "check_money_sum")

if idc_ys <= ldc_money_sum then
MessageBox("Ìáʾ", "¸¶¿î×ܶîÒѾ­×ã¹»½áÕË£¬²»ÄÜʹÓ÷¿¿¨£¡")
Return
end if
end if

ls_consume_no=Message.stringParm
ldc_IC = idc_ys - ldc_money_sum
OpenWithParm(w_liu_iccard_consume, ldc_IC)
OpenWithParm(w_liu_iccard_consume, ls_consume_no)

ldc_return = Message.DoubleParm
if ldc_return < 0 then Return

/*Ìí¼ÓÒ»Ìõ¡°×Ų̈´úÊÕ¡±¼Í¼£¬²¢ÇÒ±£´æ£¬³É¹¦ºó²»ÄÜÓá®È¡Ïû¡¯°´Å¥*/
ll_insert_row = dw_payment.InsertRow(0)
dw_payment.ScrollToRow(ll_insert_row)

dw_payment.SetItem(ll_insert_row, "area_no", gs_area_no)
dw_payment.SetItem(ll_insert_row, "check_no", is_check_no)
dw_payment.SetItem(ll_insert_row, "order_no", ii_max_order_no)
dw_payment.SetItem(ll_insert_row, "mode_no", "06")
dw_payment.SetItem(ll_insert_row, "check_money", ldc_return)
dw_payment.SetItem(ll_insert_row, "other_memo", "·¿¿¨Ïû·Ñ")

f_dw_save(dw_payment)

ii_max_order_no += 1

cb_cancel.Enabled = False

OpenWithParm2次打开同一个窗口并传递不同的参数,这样做可以么?
或者谁能指教下打开一个窗口而要传递2个不同的参数怎么做?并且怎么用Message来取得这两个不同的参数?

3 回复
#2
SingleLove2006-03-19 20:32
没得高手来指点下蛮?
#3
qw_bright2006-03-20 16:22
参数的传递问题
有两种方法
1。定义一个结构,将该结构穿过去
2。比较蠢的方法,可以使用“key1=value;key2=value,kn=valuen”的方法将数据合并到一个字符串中
然后用一个函数解析数据,
#4
SingleLove2006-03-28 11:30

感谢楼上的解答~我已经用了定义结构的方法传递成功了~!

1