Ticket #30103

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

오픈 날짜: 2012-11-13 19:38 마지막 업데이트: 2012-11-19 21:17

Reporter:
(del#1144)
소유자:
Type:
Status:
Closed
Component:
Priority:
5 - Medium
Severity:
5 - Medium
Resolution:
Fixed
File:
None
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

Ticket History (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 (None) to doda
댓글 올리기

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

2012-11-16 23:34 Updated by: (del#1144)
댓글 올리기

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

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

2012-11-19 21:17 Updated by: (del#1144)
  • Status Update from Open to Closed
  • Ticket Close date is changed to 2012-11-19 21:17
  • Resolution Update from None to Fixed

Attachment File List

No attachments

Edit

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