任务单 #30103

clipb2var に 1 以上の offset を指定すると期待しない動きをする

开放日期: 2012-11-13 19:38 最后更新: 2012-11-19 21:17

报告人:
(del#1144)
属主:
类型:
状态:
关闭
组件:
优先:
5 - Medium
严重性:
5 - Medium
处理结果:
Fixed
文件:
Vote
Score: 0
No votes
0.0% (0/0)
0.0% (0/0)

Details

クリップボードに 256 文字以上のテキストをコピーしておき、

clipb2var hoge 1
messagebox hoge result

を実行するとクリップボードからの代入に失敗し result が 0 になる。

少なくともマクロのヘルプからは、offset>0 で呼ぶために事前に offset 0 で呼ぶ必要があることを読み取れない。

; これで 511 バイト目以降の取得に成功する(offset=1で呼ばなくてもよい)
clipb2var hoge
clipb2var hoge 2
messagebox hoge result
; > 入りきらなかった部分は切り捨てられた。offsetの値を増やして再度clipb2varコマンドを実行する事で、切り捨てられた部分にアクセスできる。
; これで 511 バイト目以降の取得に成功するように思えるがそうではない。
clipb2var hoge 1
clipb2var hoge 2
messagebox hoge result

任务单历史 (3/8 Histories)

2012-11-13 19:38 Updated by: (del#1144)
  • New Ticket "clipb2var に 1 以上の offset を指定すると期待しない動きをする" created
2012-11-13 19:39 Updated by: (del#1144)
  • Details Updated
2012-11-14 13:00 Updated by: (del#24082)
评论

最初に offset=0 としないと、クリップボードがオープンされないし、cbbuff が初期化されない からですね。

cbbuff を NULL で初期化するようにし、if (Num == 0) { を if (cbbuff == NULL) { に 変えればよさそう?

2012-11-15 13:20 Updated by: doda
评论

現在の動作は私の想定どおりのものですし、変える必要も無いと思っています。

足りないのは、マニュアルの記述ですね。

2012-11-16 13:04 Updated by: (del#1144)
评论

offset 0 で読んだときのデータの続きを読めるようになっているからですね。

足りないのは、マニュアルの記述ですね。

同意です。

2012-11-16 18:35 Updated by: doda
  • 属主 Update from (无) to doda
评论

追記してみました。表現等おかしな部分は無いでしょうか?

2012-11-16 23:34 Updated by: (del#1144)
评论

ありがとうございます。少しだけ修正しました。

あと、offset を使うサンプルを追加しました。マクロからは result を確認する以外に次の offset が生きていることを確認できないので、このチケットに書いたようなスキップするサンプルを書くのはやめておきました。

2012-11-19 21:17 Updated by: (del#1144)
  • Ticket Close date is changed to 2012-11-19 21:17
  • 状态 Update from 开启 to 关闭
  • 处理结果 Update from to Fixed

Attachment File List

No attachments

编辑

You are not logged in. I you are not logged in, your comment will be treated as an anonymous post. » 登录名