2014-05-07 41 views
0

everyone.I有任何想法在運行時向對象添加代碼。但我有一些問題。如何在運行時向對象添加代碼? - Livecode

如果該對象具有腳本,並且想通過保留對象的舊腳本將代碼添加到對象。

我該怎麼辦?

這裏我的代碼:

put "on preOpencard" & return & "playani" & return & "end preOpencard" into Ascript[sA] 
set the script of the last card of stack stackN to Ascript[sA] 

謝謝。

回答

0

追加現有腳本;

put "on preOpencard" & return & "playani" & return & "end preOpencard" into Ascript[sA] 
put the script of the last card of stack stackN & return & return & Ascript[sA] into tNewScript 
set the script of the last card of stack stackN to tNewScript 
0

的這裏的想法是健全的,但我們必須小心,以保持控制結構,也就是要確保我們啓動腳本「開」和「結束」結束。

因此,重要的是測試這一點,一般來說,在現有腳本的最後一行之前放置新的已修改代碼。這通常需要大量使用退貨,具體而言,在現有代碼的行「-2」之後插入一個返回,前綴爲新代碼段:

put return & yourNewCode在第2行的yourOldScript後面

設置yourObject的腳本yourOldScript

克雷格·紐曼

+0

你能告訴示例代碼給我嗎? – KemChat

+0

我認爲@dunbarx意味着如果您想要將行添加到現有的preOpenCard處理程序中,或腳本中已經有一行,那麼只需追加到腳本中就行不通。你必須搜索腳本中的「end preOpenCard」,例如使用offset函數,然後在你的代碼之前插入你的代碼,如果offset()發現了什麼。即使這樣,現有處理程序中上面某處的「return」語句可能會使您的代碼無法運行。 – uliwitness

相關問題