問題タブ [pasteboard]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
objective-c - OS X ペーストボードのクラッシュ
CMD-C コピー コマンドをエミュレートし、ペーストボードを読み取ることでテキストを読み取るアプリケーションがあります。残念ながら、これが必要なものを実現する唯一の方法です。これは開発中であるため、ときどき何か間違ったことをして (コピー コマンドとは関係ないと思います)、アプリがクラッシュします。ときどき、これがシステム全体のペーストボードに影響を与えることがあります。コピー、切り取り、または貼り付けを試みると、実行中の他のアプリケーションがクラッシュします。
これを処理する堅牢な方法はありますか?終了する前に NSPasteboard で行うべきことはありますか? 何が起こっているのかについての情報は大歓迎です。
完全を期すために、ペーストボードにアクセスするコードのスニペットのみを次に示します。
ペーストボードから読む:
最初にペーストボードをクリアします(起動時に一度だけ実行します):
PS私は、このコピーコマンドが別のスレッドのループで実行されることを忘れていました-重要になる可能性があります。ループが停止していることを最初に確認せずに、メインスレッドのペーストボードにアクセスしないように注意しましたが。
更新 - 私がやっていることについてのいくつかの質問...
- クラッシュレポートを投稿できますか
現在取り組んでいます - 残念ながら、クラッシュは不規則です。はっきりさせておきますが、これは私がまだ開発中のアプリケーションであり、バグが発生することがあります。これによりクラッシュが発生すると、システム全体のペーストボードがめちゃくちゃになります。私のアプリのペーストボード アクセスがクラッシュを引き起こしているようには見えませんが、代わりに、バックグラウンド ループが PB とやり取りする微妙な段階にある間に終了します。更新 - クラッシュ レポートについて - これは皆さんにとってどれほど重要ですか? 私はまだ開発中ですが、何かが壊れるまで、デバッガーではなく数回実行することができます。残念ながら、今のところすべての未解決のバグを修正しており、クラッシュは発生していません。これは、問題が PBoard コード自体にあるのではないことを強く示唆しています。システム全体がダウンするわけではありません。これらの再起動はすべて面倒です。
- 必要なことを行うために Cmd-C をエミュレートする必要がある理由を詳しく説明していただけますか?
外部アプリケーションのチャット ボックスからテキストをスクレイピングしています。チャット ボックスは、私がアクセシビリティ インターフェイスやその他の手段を使用することを禁止するように作られています。
- 起動時にクリップボードの内容をクリアするのはなぜですか?
新しいテキストのペーストボード テキストを調べます。これは、他のアプリケーションからコピーされたテキストを処理しないようにする簡単な方法です。
- なぜスレッドでコードを実行しているのですか?
ループは、チャット ウィンドウへの切り替えや選択したテキストのコピーなど、ユーザー入力をシミュレートするイベントを継続的に投稿します。これがメイン スレッドで行われると、アプリの UI がハングします。UI を使用して、何が起こっているかの概要を表示します。
- メインスレッドで実行し、ループをチェックしてペーストボードにアクセスするコードを示してください
バックグラウンド スレッドは、NSNotifications を使用してメイン スレッドにデータを渡します。
iphone - iphonesdk-現在のテキストの場所への貼り付けの問題
カーソルが現在ある場所にテキストを貼り付けようとしています。私はそれが言うことをしようとしてきました:-http: //dev.ragfield.com/2009/09/insert-text-at-current-cursor-location.html
主な取引は、テキストフィールドがカスタムセルの真ん中にあるため、textbox1.text(など)に移動できないことです。カーソルがある場所にテキストを追加したいだけです(キーボードのカスタムキーを押したとき)。
-テキストボックスに小数を貼り付けたいだけです...
私が得るエラーは次のとおりです。
2010-05-15 22:37:20.797 PageControl [37962:207] *-[MyDetailControllerの貼り付け:]:認識されないセレクターがインスタンス0x1973d10に送信されました2010-05-15 22:37:20.797 PageControl [37962:207]*アプリの終了期限キャッチされない例外'NSInvalidArgumentException'、理由:'***-[MyDetailControllerペースト:]:認識されないセレクターがインスタンス0x1973d10に送信されました'
注:テキストフィールドタグにアクセスできます(それが役立つ場合)
私はObjective-cの初心者段階を少し過ぎていますが、それでも素晴らしいとは言えません。私のコードは現在以下にあり、https://gist.github.com/d634329e5ddf52945989にあります
皆さんありがとう。
MyDetailController.h
MyDetailController.m
objective-c - ドラッグアンドドロップ操作でオブジェクトポインタを渡す
ドラッグアンドドロップ操作でオブジェクトへのポインタを渡すことは可能ですか?
これがシナリオです...
カスタムオブジェクトの「NSArray」があります。議論のために、これは人物オブジェクトのリストであると言います。
NSTableView
リストは、を介して関連付けられていNSArrayController
ます。はNSTableView
ドラッグソースでありNSView
、ドラッグ先としてあります。
NSArrayController
ドラッグアンドドロップを実装すると、ドラッグプロセスでとして現在選択されている人の名前を簡単に取得しNSString
、のレシーバーに渡すことができますNSView
。
ただし、受信者がオブジェクト全体にアクセスできるように、personオブジェクトへのポインターを渡すことができるようにしたいと思います。
問題は、ドラッグ操作によって人物オブジェクトの新しいインスタンスが作成され、人物モデルに必要なメソッドを実装しているにもかかわらず、選択した人物オブジェクトへの参照が作成されないことです。その結果、宛先で人物オブジェクトを取得しましたが、オブジェクトからのデータが入力されていません。
NSView
NSViewは、オブジェクト自体への更新がと(およびオブジェクトが使用される他のすべての場所)の両方に反映されるようにオブジェクト参照を利用するため、理想的にはオブジェクトポインターが必要ですNSTableView
。
ドラッグアンドドロップ操作でオブジェクト参照を使用することも可能ですか、それとも人物オブジェクトのiVarであるカスタム参照を渡し、宛先に到着したらルックアップを実行する必要がありますか?(これは、Obj-cを参照するオブジェクトの量を考えると少し古風に思えます)。
ターゲットがアプリケーションの外部からドラッグ操作を受け入れることができることを理解していますが、ローカル操作として操作を指定すると、これが考慮されますか?
アップルのドキュメントを確認しましたが、まだ答えが見つからないようです。
ありとあらゆる助けが大いに感謝されます。
cocoa - 文字列データをマイココアアプリからサードパーティのココアアプリにドラッグします
テーブルビューから行をドラッグしてMacOSX 10.6の他のNSTextFieldにドロップし、テキストの文字列をドロップしたいと思います。
ドラッグアンドドロップはすでに私のアプリ内(NSTableViewとNSBrowserの間)で機能しますが、ソースアプリケーション以外のアプリで受け入れることができるデータをペーストボードに配置することに成功していません。
これが私が試したコードです。他のNSTextFieldにドロップしたときに、「hello」という単語を「貼り付け」するのに十分だと思いました。
}
//-
ドロップが受け入れられることを示すカーソルが表示されないので、機能しません。
- 私が試したこと:
- Pasteboard識別子の10.5バージョンを使用するNSStringPBoardType
- 10.6バージョンのNSPasteboardTypeStringを使用します。
- 私はデータを怠惰に提供していないので、owner=nilを設定します。
- キー付きアーカイバの使用:[pboard setData:[NSKeyedArchiver archivedRootObject:@ "Hello !!"]]
上記のどれもうまくいきませんでした。「データをエンコードし、持っているものをペーストボードに伝えてから、データを与える」という概念は正しいと思いますが、他のアプリはそれを認識しないため、ペーストボードに正しいデータ型を伝えていないのではないかと思います。 。
どこが間違っているのですか?
ありがとう、ウッディ
cocoa - Pasteboardmanager リファレンス
こんにちは、スクラップリファレンスを使用し、GetScrapbyname(kscrapclipboardscrap,kscrapclipboardscrap,&scrapref); を使用してスクラップを選択する古いコードがあります。
getscrapflavourcount を使用してフレーバー カウントを取得してから、getscrapinfoflavourlist を使用してリストを取得するよりも
上記の API は非推奨であるため、ペーストボード マネージャーを使用してそれらを置き換えようとしています。
しかし、 getscrapflavourcount を置き換えるには、代わりに itemid を使用する PasteboardCopyItemFlavors を使用しますが、これは古いコードではそうではありませんか??? ここで何をすべきか..
menu - NSPasteboardを使用してアプリケーション間でデータを転送する方法(コンテキストメニューを使用)
「NSPasteboardオブジェクトは、ペーストボードサーバーとの間でデータを転送します。サーバーは、実行中のすべてのアプリケーションで共有されます。サーバーには、ユーザーが切り取ったりコピーしたりしたデータや、あるアプリケーションが別のアプリケーションに転送したい他のデータが含まれています。NSPasteboardオブジェクトはサーバーおよびすべてのペーストボード操作に対するアプリケーションの唯一のインターフェース。
NSPasteboardオブジェクトは、各アプリケーションの[サービス]メニューにリストされているアプリケーションとサービスプロバイダー間でデータを転送するためにも使用されます。ドラッグペーストボード(NSDragPboard)は、ユーザーがドラッグしているデータを転送するために使用されます。」
私はこれをアップルのNSPasteboardドキュメントで見つけました。これまでのところ、私は単純なコピーと貼り付けの目的でペーストボードを使用する方法しか知りません。私が知りたいのは、ドラッグアンドドロップの代わりにコンテキストメニューを使用して、コピーアンドペースト以外の目的のデータをアプリケーション間でペーストボードサーバーを介して転送する方法です。たとえば、ユーザーが単語を右クリックしてコンテキストメニューの[辞書で検索]をクリックすると、その単語は(おそらく)ペーストボードを介して辞書アプリに送信されます。
ユーザーが「辞書で検索」を使用した単語を保存するペーストボードサーバーのデータにアクセスする方法を示す概念実証アプリを誰かがデモンストレーションできますか?
iphone - iOS - UIPasteboard not working outside app
I think this is more of an SDK flaw than my apps' but recently I've been trying to use UIPasteboard to copy strings from my app and it works fine to pasting somewhere when I'm inside the app.
When I jump to another app by either pressing the home button or anything like that, I simply don't have the option to paste the copied content.
It will print "blah" in this case, and whenever I quick touch a textfield, it will show the paste option. But if I go to Safari, Notes or Mail It doesn't show me that option.
Also, If I copy something from mail and go to my app, I won't see the paste option aswell...
ios - iOSは複数の画像を厚紙にコピーします
次のように、1つの画像を厚紙にコピーできます。
2つまたは3つの画像を厚紙にコピーするにはどうすればよいですか?
cocoa - SnowLeopard以上のペーストボードファイルパスとURLにコピーします
ファイルパスをクリップボードにコピーして、テキストエディタで文字列としてコピーできるようにしたいのですが、Finderでもファイルをコピーできるようにしたいと思います。
Snow Leopardガイドラインに準拠して以下に示すコードを作成しました(たとえば、ファイルのURLをコピーするときにwriteObjectsを使用します)
ただし、一部のエディター(XCodeなど)では、以下に示すようにURLも貼り付けられます(FinderはURLを正しく使用してコピー/移動します)
10.6準拠のコードを使用して、ファイルURLなしでファイルパスのみを貼り付けるにはどうすればよいですか?
NSFilenamesPboardTypeの使用は推奨されていないようです
NSFilenamesPboardType1つ以上のファイル名を指定するNSStringオブジェクトの配列。Mac OS X v10.6以降では、writeObjects:を使用してファイルのURLをペーストボードに書き込みます。Mac OSXv10.0以降で利用できます。NSPasteboard.hで宣言されています。
pasteboard - テキスト結果を Xcode のクリップボードに送信する (解決策が見つかりました)
これは最新の Xcode 内にあります。
OKボタンで画面に結果を表示する4つの配列があります。結果をクリップボードにコピーする機能を追加したいと思います。それは理にかなっていますか?
これがどのように行われるかは正確にはわかりませんが、コーディングに少し慣れていないため、よく調べています。
私が見ている限りでは、ペーストボードが適しているようです。私はここで正しい球場にいますか?
これが私のコードのサンプルです...
これは私が実装したいコードです(私は思う):
そして... 正しい使い方があれば、どこに置くべきかわかりません...
前もって感謝します!!!
編集-
私はそれを理解しました...追加する必要がありました:
私の結果を提供するコード行の下。弱そうに聞こえますが… 1回で1人で解けたのはすごいと思います!