VB6.0用掲示板の過去のログ(No.2)−VBレスキュー(花ちゃん)
[記事リスト] [新規投稿] [新着記事] [ワード検索] [管理用]

投稿日: 2006/04/12(Wed) 00:50
投稿者ダンボ
URL
タイトルRe: なんだか解らないならば

いなさん、どうもです。

自己流解説(解釈)の部分はVB言語システムの処理について推測を書きました。
わかりづらくてすみません。

VBは多分、文法等の事前チェック(コンパイル)を行った後実行に移す。
可能な限り事前チェックを厚くしようとして、コード内にActiveSheetと
明記されていれば、そこに含まれている(コントロール)オブジェクトも
チェック材料に含める。
ところがST As WorkSheetと引数でActiveSheetを渡そうとした場合は、
仮引数と実引数のバインドは多分文法チェック(コンパイル)の後の段階で
行うのでコンパイル時点ではそこに含まれている(コントロール)オブジェクト
が不明なままチェックを行う。従って見つからない。ST As Objectの
場合は使用者責任としてコンパイルは手薄く行う。

だからこれを回避するためにST As WorkSheetの場合でもcmdLockを明示的に
宣言すれば良いのではとも考えて試してみました。
Public Function ForceLock(ST As WorkSheet)
Dim cmdLock as MsForms.CommandButton

結果は、、、やっぱりコンパイルエラーになりましたわ。


- 関連一覧ツリー (★ をクリックするとツリー全体を一括表示します)

- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)

- VBレスキュー(花ちゃん) - - Web Forum -