トップページ⇒tech
1001コメント296KB

すれ立てるまでもない質問はここで 第77刷

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2006/07/14(金) 15:01:39
■ 注意事項
・ 質問する前にGoogleで検索しましょう。
・ プログラム・ソフトの使い方は PC 初心者板やソフトウェア板へ。
・ ウイルス、ハッキング・クラッキングを求めるような発言は禁止です。
・ Javascript, HTML は Web 制作板、CGI は Web プログラミング板へ。
・ 業界談義、愚痴はプログラマ板へどうぞ。
・ ゲーム関係の話題はゲーム製作板へどうぞ。

■ 関連スレッド
すれ立てるまでもない質問はここで 第76刷
http://pc8.2ch.net/test/read.cgi/tech/1148993760/

■ 関連板
・ パソコン初心者 : http://pc2.2ch.net/pcqa/
・ ソフトウェア : http://pc7.2ch.net/software/
・ Web制作 : http://pc8.2ch.net/hp/
・ Webプログラミング : http://pc8.2ch.net/php/
・ プログラマー : http://pc8.2ch.net/prog/
・ ゲーム製作技術 : http://pc8.2ch.net/gamedev/
0002デフォルトの名無しさん2006/07/14(金) 15:02:17
おもむろに2GET
0003デフォルトの名無しさん2006/07/14(金) 18:18:45
そして颯爽と3GET!
0004デフォルトの名無しさん2006/07/14(金) 21:50:37
としあえず
4ね
0005デフォルトの名無しさん2006/07/14(金) 23:04:47
アプリケーションの設定画面など、一度アプリケーションを起動してからでないと
開けない画面のコマンドライン引数を調べるソフトがあれば教えてください。

(というか以前そのようなソフトを持ってたのであるはずなんだが…思い出せぬ)
0006デフォルトの名無しさん2006/07/14(金) 23:05:48
nihongo de ok
0007デフォルトの名無しさん2006/07/14(金) 23:11:40
俺ももうエスパーになって長いけどこんなに意味不明な質問も珍しい。
特に画面、の後が待った区分けワカメ。
0008デフォルトの名無しさん2006/07/14(金) 23:13:09
ダイアログを直接起動するコマンドってことかな。
0009デフォルトの名無しさん2006/07/14(金) 23:19:41
>>8
多分そうです。
文章としておかしかったならお許しを。
そういったことができるソフト(または方法)があればどうぞ教えてください。
0010デフォルトの名無しさん2006/07/14(金) 23:21:11
おまえはすぐ上の >>1 が読めないのか?
0011デフォルトの名無しさん2006/07/14(金) 23:21:11
Resource hackerあたりのはなし?
0012デフォルトの名無しさん2006/07/14(金) 23:32:14
>>10
すいません、言い忘れてましたが以前windows板やソフトウェア板で聞いたけど
目的のものが見つからなかったのでこちらにきました。

あと、>>1は読みましたし、検索疲れするほどググりました。
0013デフォルトの名無しさん2006/07/14(金) 23:40:44
>・ プログラム・ソフトの使い方は PC 初心者板やソフトウェア板へ。
これ読めないのか?
もしその板でも答えてもらえなかったのなら、おまえの質問が悪いと考えないか?
それとも需要がないか
001452006/07/14(金) 23:46:15
すいません、質問を書き直します。

たとえば、IEのバージョン情報のウィンドウなどはIEを立ち上げてヘルプ→バージョン情報としないと表示されません。

そういったウィンドウを一発で開くショートカットを作りたいのが目的です。

そういったウィンドウのアドレス?を調べるにはどうすればいいでしょうか?
0015デフォルトの名無しさん2006/07/14(金) 23:51:03
まぁ板違いなんだが、それより、>>5よ、>>11をググった上で
新たな発言をしてるんだろうな?
0016デフォルトの名無しさん2006/07/15(土) 00:03:57
>>14
完全に板違いだし、お前の求めるようなソフトはこの世に存在しない。
前にそのようなソフトを持っていただ?
嘘付け。ありえない。
0017デフォルトの名無しさん2006/07/15(土) 00:21:45
>>14
お前ソフトウェア板でも似たような別の質問して、別の展開になってるだろうが。
マルチ死ね。
0018デフォルトの名無しさん2006/07/15(土) 04:46:44
質問者がソフトウェアについて理解できていないから、質問の内容があやふや。
ただ言ってるようなソフトは >>16の言うようになさそう。

(1)コマンドライン引数による制御。
    アプリケーションを起動する場合、アプリケーションの動作を制御調整するため
   にコマンドラインパラメータを渡すことがある。このパラメータ指定によって、アプリ
   の持つダイアログをいきなりオープンするようなプログラムを組むことはできるが、
   それはそのアプリがそういう作りだった場合に限られる。パラメータの指定方法も
   アプリによって異なるから、汎用的に通用するコマンドパラメータはない。

(2)アプリのリソースハッキングする。
  アプリケーションの持つダイアログリソースを、外部の別のソフトからハッキングして、
  本来アプリが想定していないタイミングでダイアログを開く。というハックツールは、
  不可能ではないかもしれないが聞いたことがない。やるとしたらリソース情報を解
  析して、それとそっくりのダイアログを新たに作って表示させるとか?
  でもそのダミーダイアログで設定した情報を、ターゲットのアプリに反映させるなんて
  ことは現実問題無理。アプリのコフィグ設定の方式なんて、統一されているわけじゃ
  ないから
0019デフォルトの名無しさん2006/07/15(土) 05:22:09
>>18
お前のようなかまってやる人間がいるから調子にのるんじゃねえか
氏ね
0020デフォルトの名無しさん2006/07/15(土) 10:34:53
>>19
お前のような煽ってやる人間がいるから調子にのるんじゃねえか
氏ね
0021デフォルトの名無しさん2006/07/15(土) 11:45:39
ごめんよ(´・ω・`)
0022デフォルトの名無しさん2006/07/15(土) 15:47:28
制御コードESCとか制御コードDC1って何?
専門用語をなるべく使わない方向で教えて(^Д^)
0023デフォルトの名無しさん2006/07/15(土) 16:40:31
>>18
どうもありがとうございました。
0024デフォルトの名無しさん2006/07/15(土) 20:40:38
>>22
昔のラインプリンタでヘッダの位置の微調整とかその他色々な制御をする為に文字に割り当てた以外のコード
0025デフォルトの名無しさん2006/07/15(土) 22:21:06
それは「制御コード」の意味ですよね?

ESCとかDC1とかについて知りたいのですが
具体的にご存知なら教えて頂けないでしょか?
0026デフォルトの名無しさん2006/07/15(土) 22:41:48
>>25
http://www.google.co.jp/search?q=%E5%88%B6%E5%BE%A1%E3%82%B3%E3%83%BC%E3%83%89+DC1
0027デフォルトの名無しさん2006/07/16(日) 14:41:25
質問です
KUE-CHIP2 Webアセンブラ
ttp://www.hpc.se.ritsumei.ac.jp/kue-chip2/kue2-webasm/
の使い方教えてくれませんか?
 ST ACC,(03H)
 EOR ACC,ACC
 ADD ACC,(03H)
 SUB IX,1
 BNZ 03H
 HLT
と、
 75 03
 C0
 B5 03
 AA 01
 31 03
 0F
を入れてみたのですが、どちらもエラーがでてしまいます
0028デフォルトの名無しさん2006/07/16(日) 16:12:51
>>27
エラーが出たというだけでアホみたいに混乱しないで
アセンブル結果くらい読んでも損はないぞ

まずUNEXPECTED END-OF-FILEって言ってるんだから最後に
END
くらいつけろよ

そしてSTとACC,(03H)の間のでかい空白はSYNTAX ERRORを出すためにわざとやってんのか?

それにしてもKUE-CHIP2って初めて知ったけどしょぼいな
0029デフォルトの名無しさん2006/07/16(日) 18:04:24
>>28
ENDつければよかったんですね
HLTが「終わり」だと思っていたので・・・
ありがとうございました
0030282006/07/16(日) 18:54:23
>>29
HLTは単なる停止命令なのでプログラムの終わりは別に必要ということですな
それにしてもKUE-CHIP2の有用な情報ってweb上であまり見つからない気がする
命令仕様とかはあることはあるけど言語仕様とかが見つからないよ
ENDをつけるというのもそういう例を偶然見つけたから分かっただけだし
HLTで終わってるプログラム断片の方が多いね
確かに混乱しそう
0031デフォルトの名無しさん2006/07/16(日) 19:00:07
質問です。

他のスレ( 1000 まで行って次スレが立っていません)で C(C++) 言語における
文字列用?の char バッファの初期化に関するレスの中に「memset の害悪の事例は
さんざん書いた」との記述がありました。

初期化自体は別の方法で初期化すればよいのでいいのですが、memset の害悪と
言うのがよく分からず気になっています。検索や過去ログも探したつもりなのですが
事例を見つけることが出来ませんでした。

素人の私にヒントだけでも結構ですので教えて頂けませんか。

0032デフォルトの名無しさん2006/07/16(日) 19:07:50
時間とコードの無駄

バグが顕在化しにくい
0033デフォルトの名無しさん2006/07/16(日) 19:16:49
http://pc8.2ch.net/test/read.cgi/tech/1149986051/
ここか?こんなクソフレーム、新しいスレが立ってからそこでやってほしいな。
0034312006/07/16(日) 19:34:18
>>32
やはりその辺りの問題だったのですね。納得しました。
ありがとうございました。

>>33
はい。そこです。
ごめんなさい。
0035デフォルトの名無しさん2006/07/16(日) 21:25:05
いやもうそのバグがけんざいかしにくいなんてうそはもうやめようよ
0036デフォルトの名無しさん2006/07/17(月) 00:53:12
OpenGLで球体を配列で表そうと思い、
GLfloat yellow[] = { 0.8f, 0.8f, 0.2f, 1.0f }; //黄色を定義
GLfloat blue[] = { 0.2f, 0.2f, 0.8f, 1.0f }; //青を定義
GLfloat purple[] = { 0.8f, 0.2f, 0.8f, 1.0f }; //紫を定義
GLfloat red[] = { 0.8f, 0.2f, 0.2f, 1.0f }; //赤を定義
GLfloat green[] = { 0.2f, 0.8f, 0.2f, 1.0f }; //緑を定義

struct ball
{
GLfloat color[];
float rotate[3];
};

struct ball small[5];
small[0].color = yellow;
small[1].color = blue;
small[2].color = purple;
small[3].color = red;
small[4].color = green;
とやると、colorに代入したところで「左辺値が必要」とエラーが出ます。

構造体の使い方間違ってますか?
0037デフォルトの名無しさん2006/07/17(月) 00:58:36
>>36
> GLfloat color[];
この[]は何?
0038デフォルトの名無しさん2006/07/17(月) 01:01:29
GLfloat yellow[] = { 0.8f, 0.8f, 0.2f, 1.0f }; //黄色を定義
の様にGLfloatの配列で色を保持させたいんです。
0039デフォルトの名無しさん2006/07/17(月) 01:15:29
>36
自己解決しました。ポインタでやるんですね。
0040デフォルトの名無しさん2006/07/17(月) 10:24:18
>>35

スマソ

バグがあってもそのまま動く→バグが顕在化しない

が正解でしたね


バグがあっても気付かない


と書くべきでした
0041デフォルトの名無しさん2006/07/17(月) 16:46:56
Linuxにスタースィートを入れて、VBAでプログラムは可能ですか?
0042デフォルトの名無しさん2006/07/17(月) 16:59:05
StarOffice/OpenOfficeではVBAは動きません。
0043デフォルトの名無しさん2006/07/17(月) 22:11:00
>>30
Cでいうと
int main()
{
  hogehogeな処理
  exit( 0 ); //←HTL
} //←END
0044デフォルトの名無しさん2006/07/18(火) 01:32:10
あほですか?
0045デフォルトの名無しさん2006/07/18(火) 01:54:46
ちがいます
0046デフォルトの名無しさん2006/07/18(火) 07:12:20
Cでいうと
int main()
{
 hogehogeな処理
 for(;;); //←HTL
 東京にテポドンを落とす処理
} //←END
0047デフォルトの名無しさん2006/07/18(火) 07:13:25
HLTだった
0048デフォルトの名無しさん2006/07/18(火) 12:47:20
それってHLTなのか?
0049デフォルトの名無しさん2006/07/18(火) 13:08:44
つっこまれると辛い。
0050デフォルトの名無しさん2006/07/18(火) 13:11:42
スタック領域とヒープ領域がアプリケーション実行においてどんな感じで利用されるのか教えてください
0051デフォルトの名無しさん2006/07/18(火) 13:16:29
>>50
OSやCPUによる
0052デフォルトの名無しさん2006/07/18(火) 14:07:12
>>50
必要なときに確保される。
0053デフォルトの名無しさん2006/07/18(火) 15:03:04
>>48
CPUにもよるが、HALTが実質プログラムカウンタデクリメント命令であることからして、
まずまず妥当な表現かもしれない。
0054デフォルトの名無しさん2006/07/18(火) 16:41:10
Windowsのソケットについて質問です。
ソケットを閉じるとき、closesocket()ではなく、close()を使っても閉じられるんでしょうか?
LinuxとWindowsの両方で使えるプログラムを書いてるので
できるだけ差異がないようにしていのです。
0055デフォルトの名無しさん2006/07/18(火) 16:50:21
javaアプレットの教本で、アドベンチャーゲームの作り方が載ってる物の中から、オススメを教えて下さい。
0056デフォルトの名無しさん2006/07/18(火) 17:07:15
>>54
無理だったはず。
Windowsのcloseというよりいわゆる低水準入出力全般はCRTが作り出している。

ちなみにWindowsではCloseHandleでソケットを閉じることができる。
0057デフォルトの名無しさん2006/07/18(火) 17:07:58
>>50
自動変数(非静的なローカル変数)はスタック、mallocなどで確保するメモリはヒープが使われる。
0058デフォルトの名無しさん2006/07/18(火) 17:11:11
>>54
その辺のOSの違いを吸収するレイヤーを作る
0059デフォルトの名無しさん2006/07/18(火) 22:42:10
.netでプロジェクトA(ライブラリ)とBの2つ追加してBからAで作成された関数を呼び出し
たいのですがどうすればいいですか?
0060デフォルトの名無しさん2006/07/18(火) 22:51:18
学校でC言語のプログラミングを習い始めたのですが、家のパソコンでファイルを
作ってコンパイルして、実行したいと思っています。
これらをするためには何かソフトをダウンロードする必要があるのですか?
0061デフォルトの名無しさん2006/07/18(火) 22:55:23
>>60
学校では何を使ってるんだ?
それと同じものを手に入れればいいんじゃね?
0062デフォルトの名無しさん2006/07/18(火) 23:02:32
学校のパソコンはWindowsで家のパソコンもWindowsなんですが、最近は、パソ
コンを使わずに文法ばっかりなので、どういう手順で実行まで行ったか覚えて
ないんです。
確かコマンドプロンプト上でコンパイルとか実行をしたのは記憶にあるのです
が。
0063デフォルトの名無しさん2006/07/18(火) 23:05:57
>62
コンパイルの時に使うコマンドを言え
目星ぐらいは付くかもしれん
0064602006/07/18(火) 23:08:29
確か cl (ファイル名) だったような気がします。
0065デフォルトの名無しさん2006/07/18(火) 23:10:39
>>62
例えばこのページにのってるLSI-Cとか。
ttp://homepage1.nifty.com/toshio-k/prog/c/

本当は、gccとかMinGWとかのほうがいいんだけど、環境設定だけで
山のような質問がでそうなので・・・。
0066デフォルトの名無しさん2006/07/18(火) 23:13:46
>>64
それなら多分Visual C++ 2005 Express Edtionじゃないかな。
Microsoftからダウンロードしてインストールすると、メニューに「コマンドプロンプト」が
あるから、それでやってるのかも。
インストール方法がわからない場合はググって。
0067602006/07/18(火) 23:21:45
実は先ほど、ただひたすら探していてVisual C++ 2005 Express Edtionって
いうのに辿り着きインストールしてみたのですが、全く使い方が解りません。
それに学校でやっていたのはCだったのですがC++でも大丈夫なんですか?
0068デフォルトの名無しさん2006/07/18(火) 23:27:04
>>67
WindowsのメニューにVisual Studioコマンドプロンプトってない?
それと、ファイルの拡張子を.cにすればCになる。
これ以上の質問は、適切なスレで。
0069デフォルトの名無しさん2006/07/18(火) 23:28:47
Cの勉強してるんならC++じゃダメだが、Visual C++ 2005 Express EdtionのコンパイラはCでもC++でも使える
というかC++コンパイラでCがコンパイルできないのを見たこと無い
0070デフォルトの名無しさん2006/07/18(火) 23:34:15
VC++ 2005 にコマンドプロンプト付いたっけ?

付いてないなら、Winの環境変数「path」に
cl.exeのあるフォルダ追加すればおk
pathの区切りはセミコロンな
0071デフォルトの名無しさん2006/07/18(火) 23:34:43
>>69
昔のC++処理系はトランスレータだったので(当然ではあるが)Cプログラムをコンパイルできない。
0072602006/07/18(火) 23:35:15
>>68
Windowsのメニューにコマンドプロンプトあります。

手順は、
1適当なフォルダにファイルを作り拡張子を.cにする。仮にtest.cとする。
2コマンドプロンプトを開き cl test.cと入力しエンター。
3コマンドプロンプトで実行
でOKということですか?
0073デフォルトの名無しさん2006/07/18(火) 23:38:40
>72
2は、コマンドプロンプトで

cd /d ソースコードのあるフォルダ名

ってやった後に。
0074デフォルトの名無しさん2006/07/18(火) 23:44:47
>>72
そう、それでいい。
何か質問があれば、
Visual Studio 2005スレ Part14
http://pc8.2ch.net/test/read.cgi/tech/1152247413/
とかで。
0075デフォルトの名無しさん2006/07/18(火) 23:46:44
そんなことよりお前ら、極楽山本が吉本解雇だぞ
0076デフォルトの名無しさん2006/07/18(火) 23:48:01
>>72
そのコマンドプロンプトで駄目だったら、
プログラム
→Visual C++ 2005 Express Edition
→Visual Studio Tools
→Visual Studio 2005 コマンド プロンプト
の方を使えば確実。
0077602006/07/18(火) 23:49:58
できました。
皆さんどうもありがとうございます。
お騒がせしてすいませんでした。
0078デフォルトの名無しさん2006/07/18(火) 23:51:11
この流れを見て、一杯のかけそばを思い出したのはなぜだろう。
0079デフォルトの名無しさん2006/07/19(水) 00:13:26
>>57
ありがとうございました
0080デフォルトの名無しさん2006/07/19(水) 00:35:20
なんかあちこちのスレで妙に初心者丸出しな
質問者が見受けられるのだが、そういう時期なのか?
0081デフォルトの名無しさん2006/07/19(水) 00:46:09
何その初心者丸出しな質問はw
0082デフォルトの名無しさん2006/07/19(水) 02:48:31
誰かこれ作れる?

http://news19.2ch.net/test/read.cgi/newsplus/1153230238/62
62 名前:名無しさん@6周年 [] :2006/07/18(火) 23:08:07 ID:P/L01U+I0
そういや昔は最後の方のページに
ゲームとかのプログラムが載ってたよな。
それから何年も買わないでいると
CDROMがついてくるようになっててびっくりしたんだが。


74 名前:名無しさん@6周年 [] :2006/07/18(火) 23:10:54 ID:QSN+Yia70
>>62
ひたすら 機械語 打ち込んで チェックサム みて…

徹夜で やってて 記憶�dで、気がついたら入力終わってたこともあった あの熱い日々。 (´・ω・`)


144 名前:名無しさん@6周年 [sage] :2006/07/18(火) 23:24:19 ID:efLIB5Xc0
>>74
チェックサム付のマシン語入力専用のエディターを作って、みんなに配布して、
地元マイコンセンターでヒーローになってました。

丁寧に、ASCII型の8bit横チェックサム縦スクロールと、I/O型の16×16縦横チェックサム
ページエディタタイプと2種類用意していたお。


あの頃のゲームのやけっぱち感というか、洗練されて無さがとても懐かしい思いでなり。
0083デフォルトの名無しさん2006/07/19(水) 03:10:18
チェックサム付のマシン語入力専用のエディターを作れってことかな?

フリーでいくらでもあるよ
0084デフォルトの名無しさん2006/07/19(水) 05:16:54
VC7でDirectShowを使ったアプリを作っています。

デバッグ画面でローカル変数一覧でクラスにぶら下がっている仮想関数テーブル
__vfptr[仮想関数の数] が表示されないのですが、表示をさせるには何か設定が必要なのでしょうか?

他の人が作ったオープンソースなんかのプロジェクトでは仮想関数テーブルがきちんと表示されます。

全く同じテンプレートクラスCComPtr<IGraphBuilder> でもオープンソースのプロジェクトでは表示がされて
自分のしょっぼいアプリでは表示がされません。ポインタが取得できてるか確認したいっす。

ちなみに
CComPtr<IGraphBuilder> pGraphBuilder とした場合は表示される方は以下のようになるはずなのですが
自分のはIUnknownの横の展開ボタン+がついてるのですが押すと+が消えるだけです( ´・д・`)

pGraphBuilder
   └□ ATL::CComPtrBase<IGraphBuilder>
     └□ p
       └□ IFilterGraph
         └□ IUnknown
           └□ __vfptr
             └□ [0x0]
             └□ [0x1]
             └□ [0x2]
0085デフォルトの名無しさん2006/07/19(水) 07:59:47
単に仮想関数がなくて仮想関数テーブルがない落ちとか。
0086842006/07/19(水) 09:15:39
>>85
ふむ、言われてみてやっぱり仮想関数自体がないのだ思うようになりました。
プロジェクトの設定に「デバッグ時に仮想関数テーブル表示非表示」とかそんなのないですもんね。

それで、さらにIUnknownという基底のクラスを探してみました。

そしたら、デバイス開発用に入れたキットWINDDKのincludeファイルにあるunknwn.hを参照してましたorz
確かにココにもインターフェースとして IUnknown が定義されています。仮想関数3つありますけどね…

IGraphBuilderとIFilterGraphはPlatformSDKのstrmif.hを使っていて、正しいようには思いますが、
DirectShowの開発をやってるのに、WINDDKのインクルードファイルって…
これってなんか違うんじゃないかと思ったわけであります。普通はどこのヘッダファイルを参照するんだろ( ´・д・`)

オープンソースの方はきっと自前で、どこかにIUnknownを定義してるから動いてるんじゃないかと
そう思うようになりました。
何かが足りない、そんな気がします。もうちょっと調べてみます。

ここに来るのはまだ早かったようです。自分でやれることまだありそうです。

ご迷惑をおかけしました。ありがとうございます(恥
0087842006/07/19(水) 10:22:01
早速戻って来てしまいました。
結果的に連続質問する形になってしまい申し訳ありません。

CComPtr<IGraphBuilder> テンプレートクラスを使う場合、

strmif.h  =>IGraphBuilder、IFilterGraph
unknwn.h =>IUnknown

ヘッダファイルは本来どこにあるものを使うのでしょうか?
WinDDKフォルダに同じようなヘッダファイルがあったり、混乱してきました。


0088デフォルトの名無しさん2006/07/19(水) 16:36:19
・前提
1.要素数がa個の配列Aがある。
2.配列の最初の要素は0ではなく1とする。
3.配列Aの各要素には、1〜aまでの数値がシャッフルされて入っている。

・ソート
数値1は最初の要素へ、
数値2は2番目の要素へ、
....
数値aはa番目の要素へ
とソートする場合、
0.xを1とする
1.数値xがどの要素にあるか探査
2.1で見つかった要素と、要素xを交換する
3.もしxがa以上であれば、ソート終了。そうでなければxをx+1とし、1へジャンプ。

で、ソートできると思うんですが、これは何ソートって言うんですか?
0089デフォルトの名無しさん2006/07/19(水) 16:42:53
>>88
多分、選択ソート
0090デフォルトの名無しさん2006/07/19(水) 16:55:10
ずっと前ですが、最凶最悪のプログラムを決めるコンテストがあったと思うんですが、
その優勝したソースを見てみたいんですが、何処にあるんですが?
0091デフォルトの名無しさん2006/07/19(水) 17:04:04
>>88
それって、ソートする必要なくね?w
0092デフォルトの名無しさん2006/07/19(水) 17:09:57
>>91
お前頭いいな
0093デフォルトの名無しさん2006/07/19(水) 17:15:40
配列が存在する意味も無いな
でもガッコの問題で出てきそう
0094842006/07/19(水) 18:50:43
お騒がせしていました!手の施しようも無い84です!
毎度ご迷惑をおかけしておりますっ!

はっきりいって、自分がバカすぎました。
ManageC++を使っているのを忘れていました…orz
systemの文字列数値変換関数 convert ToInt16が使いたくてmangedにしてました。

それが原因でDirectShowのクラスが機能していなかったっぽいです。
機能していない振りをされてる可能性もあるのでデバッグ画面だけかもしれませんが…。

ようやくCoCreateInstanceでポインタ値が取得できるのを確認できました。

それでもsystemの関数を使いたかったので、
プロジェクトのプロパティでマネージ拡張「はい」にしたまま
DirectShow関連のヘッダファイル読み込み部分に
#pragma unmanagedをつけて、読み込みが終わったら#pragma managedをつけるようにすると
うまく動くようになりました。

マネージドコードとネイティブコードを同時に使えるって素晴らしいですね。
アドバイスくれた方、少し一緒に悩んでくれた皆さんありがとうございました。

ヽ(`Д´)ノカイケツスルマデニ20ジカンイジョウカカッタorzテイノウスギル…
0095デフォルトの名無しさん2006/07/19(水) 19:41:26
>>94
待て待て。
ToInt16如きならアンマネージドでも代替はあるだろ。
たったそれだけのためにマネージドとは代償が大きすぎないか?
0096デフォルトの名無しさん2006/07/19(水) 19:55:48
>>94
昔(C)は解決するまでに1週間とかかかってたときもあったぞ
原因は単なる未初期化変数
0097842006/07/19(水) 20:50:21
>>95
え?(´・д・`)
そんな関数あったの?orzシニタイ…

あ、あのーよろしければ、その関数がどのあたりにあるのかを
こっそり教えていただけないでしょうか…

>>96
デスヨネ。
こんなの日常茶飯事なのが駆け出しプログラマの通る道ですよね。
今日はずっとパソコンの前に座って、あーでもないこーでもないとやってました。
疲れた。

実用的なプログラム開発の世界って複雑過ぎる。
こんなの使いこなせる日が来るのかしら…
0098842006/07/19(水) 21:02:45
ちなみに Convert::ToDouble()なんかも使っています。

VBAとかだとこういう変換関数は自分で作るんですが、
C++の場合は調べてみたら変換関数は存在するとのことで
使ってみたらマネージドにしないといけない状態になって…
ま、そこでマネージドC++というものを初めて知ったわけですが…
勉強にはなりました。


最初っから自分で作っておけばよかったと今では、そう思っています。
0099デフォルトの名無しさん2006/07/19(水) 21:09:11
文字列を整数にしたいんだよな。

System::Stringだけを引数に取るやつなら、boost::lexical_castやstd::(w)istringstream系。
ほかにはstd::atoiやstd::strtol、std::wcstolなどを使って、必要ならその戻り値をキャストする方法もある。
基数指定する場合はstd::strtol系。

追加でIFormatProviderを引数に取るやつは、
C++標準ライブラリのlocale関連でなんとかなると思う。
istringstremを併用すると楽かも。

0100デフォルトの名無しさん2006/07/19(水) 21:11:09
doubleなんかも似たような名前のstrtod, wcstod, atofとかがある。

一番簡単なのはやっぱりboost::lexical_castだと思う。
0101842006/07/19(水) 21:48:35
boostっていうのはなんか面白いというか変わったライブラリっぽいですね。
使いやすそうなので、導入を検討してみます。

Boostとは「俺たちの野望は、ライブラリがSTLのようにC++の標準ライブラリになることだ」
と言っている人達が作っているとても優秀なマルチプラットフォームライブラリです。
というのに感銘を受けました(汗

標準ライブラリにもこんなのがあったとは…
とりあえずは、標準ライブラリを使ったものに焼きなおしてみたいと思います。
CStringじゃなくて、charで文字列を扱わないといけないですが、
ManageC++/CLIを使うよりも大きな問題ではなさそうです。

ありがとうございます。
■ このスレッドは過去ログ倉庫に格納されています