nexttab実行後元のタブが処理されるNo.24658
tar さん 08/03/17 21:46
 
マクロでnexttabの次からの命令が
nexttabが実行される前のタブで
実行されます。

バグでしょうか?
それともわたしのやり方がおかしいのでしょうか?

例えば

+------------------------------------------------+

nexttab;
selectall;
delete;

+------------------------------------------------+

とすると
移動する前のタブの内容が消去されます。

移動先のタブの内容をいじりたいのですが
どうすれば宜しいでしょうか?

宜しくお願い致します。

[ ]
RE:24658 nexttab実行後元のタブが処理さNo.24660
わっきー@茨城 さん 08/03/17 22:55
 
わっきー@ユーザです。
たしかに nexttab の実行後にウィンドウが切り替わる前に
次のコードが実行されてしまいますね。
↓のコードを走らせるとメッセージではじかれます。

//----------
#MyWnd = hidemaruhandle( 0 );
nexttab;
#NextWnd = hidemaruhandle( 0 );
selectall;
if( #MyWnd == #NextWnd )
{
 message "まだタブの移動が完了できていません。";
 endmacro;
}

delete;
//----------

nexttab を nexthidemaru に変更すると通るようですが、
いかがでしょうか?

[ ]
RE:24660 nexttab実行後元のタブが処理さNo.24664
秀丸担当 さん 08/03/18 10:10
 

>マクロでnexttabの次からの命令が
>nexttabが実行される前のタブで
>実行されます。

確かにそのようになってしまうようです。
nexttabでもマクロ実行が移動するようになるべきだと思います。
次のV7.08β14で修正させていただきます。
現状で回避するには、nexttabの代わりに以下のようにするとできると思います。

//nexttab;
if( tabmode ) {
  #taborder = taborder + 1;
  if( #taborder >= tabtotal ) {
    #taborder = 0;
  }
  #nexttab = gettabhandle( 0, tabgroup, #taborder );
  setactivehidemaru #nexttab;
} else {
  nexthidemaru;
}

[ ]
RE:24664 nexttab実行後元のタブが処理さNo.24666
tar さん 08/03/18 15:27
 
わっきーさん、秀丸担当さん
ありがとうございます。

nexttabが使えないので
nexthidemaruをつかっていたのですが

複数タブを開いていると次のタブへ
ちゃんといってくれず
困っていました。

そのように書けばいいのですね。

助かりました。

[ ]