トップページココアな掲示版

ココアな掲示版

新しい書き込み
タイトル
なまえ
メール
メッセージ

・ 「タイトル」「なまえ」「メール」の入力はオプションです。

・ クッキーをONにしていると、書き込んだ「なまえ」と「メール」が保存されます。

・ メッセージは、内容によって不正と判断されることがあります。

・ <code>を除いて、タグは使えません。

<code>
void main(String[] args) {
    System.out.println("hello, world.");
}
</code>

void main(String[] args) {
    System.out.println("hello, world.");
}

Re:DiffツールのようなUI

Writed by しましま at 6/16/09 11:43 PM

そういう特殊なものは、自分で作るしかないと思います。

NSScrollViewは利用できないと思うので、カスタムビューの上にNSScrollerとNSClipViewを配置するような感じになると思います。


DiffツールのようなUI

Writed by waka at 6/16/09 6:50 PM

以前ベースSDKのことで質問させていただきました。
その節は大変お世話になりました。

さて、早速ですが、Xcodeと一緒にインストールされるツールで、Diffを表示するものがあると思うのですが、
あのツールと同じように、2つのテキストビューを表示して、
それを1つの縦スクロールバーで同時にスクロールできるようなコントローラを探しています。

もともと用意されているアウトレットに存在するのでしょうか?

存在しない場合、どのように作成するのでしょうか?

恐れ入りますが、分かる方がいらっされば、ご教授いただけますと幸いです。
よろしくお願いします。


Re: ベースSDK?

Writed by waka at 12/10/08 9:06 PM

しましまさん、ありがとうございます!

SDKの設定を変更したところ、クラッシュはしなくなりました。
また、条件分岐での起動制限も問題なく出来ました。

しかし、使用可能なSDKは10.3が一番古いもので、それ以前のものはありませんでした。
環境が無いので確認が出来ないのですが、10.2以前だとやはりクラッシュしてしまうのでしょうか?

もっとも、しましまさんのおっしゃるように、10.2以前であればそのままでもいいかなとは思っていますが・・・

ともあれ、とても助かりました。ありがとうございます。


Re: ベースSDK?

Writed by しましま at 12/8/08 10:14 PM

wakaさん、こんばんは!

おそらく、MacOSX10.5で開発したので、バージョン10.5のCocoaフレームワークを使うようなアプリケーションになったのでしょう。
それを、MacOSX10.4などで起動すると、バージョン10.5のCocoaフレームワークを使おうとしたが、それが存在しないので、クラッシュしてるのだと思います。

XCodeのメニューから「プロジェクト」→「プロジェクト設定を編集」を選択し、出てきたパネルから、「一般」タブを選択して、「すべての構成のSDK」の欄を設定すると、古いバージョン用のアプリケーションが作れます。

また、NSFoundationVersionNumberという定数を使うと、現在のOSのバージョンが取得できるので、プログラムの冒頭でこれを使って条件分岐させることもできます。
http://developer.apple.com/documentation/Cocoa/Reference/Foundation/Miscellaneous/Foundation_Constants/Reference/reference.html

まあ、最初から古いバージョンのOSをサポートするつもりがないなら、そのままクラッシュするにまかせてもいいと思います。


ベースSDK?

Writed by waka at 12/8/08 9:17 PM

wakaといいます。よろしくお願いします。

早速ですが、OS10.5(XCode3.1)でCocoaに挑戦しているのですが、ビルドしたアプリケーションをOS10.4等の古いOSで起動しようとすると、アプリケーションがクラッシュしてしまいます。

クラッシュログを見ると、フレームワークとかSDKといった言葉が書いてあるのですが、正直よくわかりません。

例えば10.4以前であればメッセージを出してアプリケーションを終了(クラッシュはしない)というようにしたいのですが、どのようにしたら良いのでしょうか?

初歩的な質問で申し訳ないですが、よろしくお願いします。


Re:コマンドライン引数の取得方法について

Writed by san at 2/18/08 10:18 AM

ありがとうございます。
そうです、開くファイルのファイルパスが欲しかったのです。
助かりました。


Re:コマンドライン引数の取得方法について

Writed by しましま at 2/16/08 7:47 PM

ドキュメントベース・アプリケーションで、書類ファイルを開いたときに、そのファイルのファイルパスが欲しいということですか?

ファイルを開くと、それに対応したNSDocumentオブジェクトが生成されるので、そのオブジェクトの fileURL(またはfileName)メソッドで取得できると思います。

アプリケーション内の全てのNSDocumentは、NSDocumentControllerで管理されているので、このオブジェクトのdocuments、currentDocument、documentForWindow:メソッドを使って目的のNSDocumentを探すこともできます。

ファイルが開かれるときに、何かアクションを起こしたいときは、NSApplicationのdelegateにapplication:openFile:っていうのがあります。


Re:コマンドライン引数の取得方法について

Writed by san at 2/16/08 3:45 PM

やりたいことは、関連づけされたファイル(データ)をダブルクリック
して、そのファイル名を取得したいのです。
ファイルの関連づけは、ターゲット情報プロパティで設定してます。
初心者なので、設定がうまく出来ていないかもしれないですが^^;
教えて頂いた、NSLog(@"%@", cmdParam);で、表示してみましたが、
引数の部分に、関連づけされたファイル名が入ると思うのですが、
"-psn_0_21233665"という文字列が入ります。
0番目の引数には、起動したアプリケーション名が入っているので
正常だと思うのですが、1番目の引数の部分がきちんと取得できて
ないようです。
なにか、私の使い方が悪いんでしょうか?
よろしくお願いします。


Re:コマンドライン引数の取得方法について

Writed by しましま at 2/16/08 3:02 PM

sanさん、こんにちは。

> ファイルを関連づけして、以下のように

ファイルの関連づけって、どういう事をやっていますか?

それから、とりあえずNSArrayの内容を確認したいときは、
NSLog(@"%@", cmdParam);
とやると、配列全体がデバックコンソールに出力されるので、便利ですよ。


コマンドライン引数の取得方法について

Writed by cocoa初心者san at 2/16/08 2:10 PM

sanといいます、よろしくです。

ファイルを関連づけして、以下のように

NSArray* cmdParam = [[NSProcessInfo processInfo] arguments];
NSString* contentsFilename = [cmdParam objectAtIndex:1];
NSRunAlertPanel(@"デバッグ"],contentsFilename,@"OK",nil,nil);

コマンドライン引数を取得してとりあえず表示させてみてるのですが、
正常なファイルが取得できなくて困っています。
"-psn〜"という引数が返ってきます。
なんか初歩的な間違いでもしてるのでしょうか・・・。
もしよければ、教えて下さい。


Copyright(C)2001-2009 STRIPE-NET. All Right Reserved.