「Vle-start-transaction」の版間の差分

提供:GizmoLabs - だいたい CAD LISP なサイト
(ページの作成:「{{AutoLISP}} ; 構文 : (vle-start-transaction) ; 機能 : 現在の図面に対してアクティブなデータベーストランザクションを開始終了させ…」)
 
編集の要約なし
 
(同じ利用者による、間の3版が非表示)
1行目: 1行目:
{{AutoLISP}}
{{BCAD_LISP}}
; 構文
; 構文
: (vle-start-transaction)
: (vle-start-transaction)
5行目: 5行目:


; 機能
; 機能
: 現在の図面に対してアクティブなデータベーストランザクションを開始終了させる。
: 現在の図面に対してアクティブなデータベーストランザクションを開始させる。
* bricscad の独自関数




16行目: 17行目:




MEMO:
====MEMO:====
Lisp の実行が終了すると、保留中のトランザクションは自動的に閉じられる (Lisp コードがエラーになった場合も同様)。
アクティブなトランザクションでは、データベースやディスプレイの更新はトランザクションが終了するまで遅延される - これは多くのエンティティやデータベースの変更が行われた場合に、パフォーマンスを大幅に改善する。
トランザクションがアクティブでないときに(vle-end-transaction)を呼んでも害はない; No-Operationである。
複数のトランザクションのネストはサポートされていないが、Lispは単一の(グローバルな)トランザクションのみを保持するため、潔く許容される。
Lispの実行が終了すると、保留中のトランザクションは自動的に閉じられる(Lispコードにエラーが発生した場合も同様)。
 




24行目: 27行目:
<syntaxhighlight lang="lisp" line>
<syntaxhighlight lang="lisp" line>
(vle-start-transaction)
(vle-start-transaction)
 
; なにがしかの処理
(vle-end-transaction)
(vle-end-transaction)


39行目: 42行目:


[[Category:AutoLISP]]
[[Category:AutoLISP]]
[[Category:BricsCADのLISP]]

2023年1月28日 (土) 08:17時点における最新版

構文
(vle-start-transaction)


機能
現在の図面に対してアクティブなデータベーストランザクションを開始させる。
  • bricscad の独自関数


引数
  • なし


戻り値
トランザクションがアクティブな場合は T、そうでない場合は NIL


MEMO:

アクティブなトランザクションでは、データベースやディスプレイの更新はトランザクションが終了するまで遅延される - これは多くのエンティティやデータベースの変更が行われた場合に、パフォーマンスを大幅に改善する。 複数のトランザクションのネストはサポートされていないが、Lispは単一の(グローバルな)トランザクションのみを保持するため、潔く許容される。 Lispの実行が終了すると、保留中のトランザクションは自動的に閉じられる(Lispコードにエラーが発生した場合も同様)。


サンプル

<syntaxhighlight lang="lisp" line> (vle-start-transaction)

; なにがしかの処理

(vle-end-transaction)

</syntaxhighlight>



関連事項