Ticket #30103

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

Date d'ouverture: 2012-11-13 19:38 Dernière mise à jour: 2012-11-19 21:17

Rapporteur:
(del#1144)
Propriétaire:
Type:
État:
Atteints
Composant:
Priorité:
5 - moyen
Sévérité:
5 - moyen
Résolution:
Fixed
Fichier:
Aucun
Vote
Score: 0
No votes
0.0% (0/0)
0.0% (0/0)

Détails

クリップボードに 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)
Commentaire

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

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

2012-11-15 13:20 Updated by: doda
Commentaire

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

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

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

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

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

同意です。

2012-11-16 18:35 Updated by: doda
  • Propriétaire Update from (Aucun) to doda
Commentaire

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

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

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

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

2012-11-19 21:17 Updated by: (del#1144)
  • État Update from Ouvert to Atteints
  • Ticket Close date is changed to 2012-11-19 21:17
  • Résolution Update from Aucun to Fixed

Attachment File List

No attachments

Modifier

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