2012-07-19 12 views

答えて

9

はこれを試してみてください:

newTable = originalTable; 
info(strfmt('%1 %2', newTable.recId, originalTable.recId); 

newTable.data(originalTable); 
newTable.insert(); 
info(strfmt('%1 %2', newTable.recId, originalTable.recId); 

あなたが最初の文だけで、既存のレコードにもう一つのポインタを作成していることがわかります。 2番目は既存のレコードの新しいコピーを作成します。

+8

+1。あるレコードから別のレコードにシステムフィールドをコピーするのではなく、機能的な意味を持つフィールド(AOTで見ることができるフィールド)だけをコピーする場合は、data()の代わりにbuf2buf()を使用してください。 – Max

+1

ああ、大丈夫です。なぜ、それが.copy() – AnthonyBlake

関連する問題