検索結果 12 件

by HolyWings
10年前
フォーラム: C言語何でも質問掲示板
トピック: 動的確保と多態性
返信数: 3
閲覧数: 1948

Re: 動的確保と多態性

クラス ObjMgr 内のメンバ変数 m_Floor は ObjectBaseのポインターとして宣言されていますが、
m_Floorを配列的に利用し、各要素にObjectBaseのポインターを代入しようとしているので
m_FloorはObjectBaseのポインターのポインターとして宣言し利用するべきだと思います。
by HolyWings
11年前
フォーラム: C言語何でも質問掲示板
トピック: BorlandC++ Compiler 5.5 でのDLL呼び出しでのエラー
返信数: 3
閲覧数: 2349

Re: BorlandC++ Compiler 5.5 でのDLL呼び出しでのエラー

いろいろ試したところBorland C++ Compiler 5.5で作成した実行ファイルから IDirectSoundBuffer8::SetFX()メソッドでI3DL2 (Interactive 3D Audio Level 2) リバーブ エフェクトを設定 すると実行時にエラーが起こるという結論に達しました。 他のエフェクトを設定してもエラーが起こらないのですがI3DL2 (Interactive 3D Audio Level 2) リバーブ エフェクトを設定 したときのみエラーが起こります。 コンパイラが作成するコードとの相性が良くないとしかいいようがありません。 確信に達したテストコ...
by HolyWings
11年前
フォーラム: C言語何でも質問掲示板
トピック: BorlandC++ Compiler 5.5 でのDLL呼び出しでのエラー
返信数: 3
閲覧数: 2349

Re: BorlandC++ Compiler 5.5 でのDLL呼び出しでのエラー

ISLe 様 返信ありがとうございます。
ISLe さんが書きました:[ebp-0x8]というアドレスはスタックフレームでしょう。
何らかの理由でスタックが破壊されて、浮動小数点数として正しくない値にアクセスしている可能性はないでしょうか。
スタックフレームの事まで思い至りませんでした。
なんらかの手がかりになるような気がします。
これを足がかりにしてもう少し解析を進めたいと思います。

アドバイスいて頂きありがとうございました。
by HolyWings
11年前
フォーラム: C言語何でも質問掲示板
トピック: BorlandC++ Compiler 5.5 でのDLL呼び出しでのエラー
返信数: 3
閲覧数: 2349

BorlandC++ Compiler 5.5 でのDLL呼び出しでのエラー

はじめて投稿します。よろしくお願いします。 開発環境は次の通りです。 OS : Windouws 7 (32bit) 使用言語 : C++ コンパイラ: GNU C++ 今DirectXのDirectSound8を使用したDLLを作成しているのですが、2日ほどなんとかしようとしましたがどうしても 回避できない実行時のエラーがあります。 VisualC++ や GNU C++ や HSP で作成した実行ファイルからのDLLの呼び出し時には全くエラーは起こりませんが、 当方ではBorland C++ Compiler 5.5 で作成した実行ファイルからDLLの特定の関数を呼び出したときのみエラーが...
by HolyWings
11年前
フォーラム: C言語何でも質問掲示板
トピック: ファイルの存在確認の方法
返信数: 1
閲覧数: 1411

Re: ファイルの存在確認の方法

WIN32 API の GetFileAttributes でチェックしてみてはどうですか?
by HolyWings
12年前
フォーラム: C言語何でも質問掲示板
トピック: クリック関連の関数について。DXライブラリ初心者です。
返信数: 4
閲覧数: 2138

Re: クリック関連の関数について。DXライブラリ初心者です。

ソース読みました。問題の原因を述べたいと思います。 まず、 menu.h,menu.cppのmenu_clickで、 title_clickと同じように判定しているつもりなのですが、実行したところfor分の制御変数1のときしかクリックされたことになっていません。 この問題は、 int Menu_Click(int mx,int my){ for(i=1; i<=6; i++){ if(((mpara[i].left<=mx)&&(mx<=mpara[i].right))&&((mpara[i].top<=my)&&(my<=mpara[i].bottom))) return i; else r...
by HolyWings
12年前
フォーラム: C言語何でも質問掲示板
トピック: dxlibのファイルの文字読み込みについて
返信数: 5
閲覧数: 3939

Re: dxlibのファイルの文字読み込みについて

全角文字は一文字を表すのに2バイト使用します。

それから、
メカ さんが書きました:for(int i=0;i<5;i=i+1)FileRead_gets(Bun,11+3,f);


FileRead_gets 関数の使い方ですが、第2引数には読み込む文字数ではなく第1引数に指定した文字列を格納するメモリ領域の
大きさを指定します。
この場合は、
メカ さんが書きました:char Bun[5][128];

と宣言されているので、128を指定します。
by HolyWings
13年前
フォーラム: C言語何でも質問掲示板
トピック: すみません初歩的な質問で悪いのですが配列から文字列に変換する方法なのですが、効率的に変換する方法はありますか?
返信数: 6
閲覧数: 2192

Re: すみません初歩的な質問で悪いのですが配列から文字列に変換する方法なのですが、効率的に変換する方法はありますか?

こういう方法もありますよ。
ただし、配列 arr の値が0 ~9の間の時に限ってですけど。

コード:

int i ;
int arr[ 10 ] = { 0 };
char str[ 11 ]  = { 0 };

arr[ 2 ] = 1;
arr[ 3 ] = 4;
arr[ 6 ] = 5;

for( i = 0; i < 10; i++ ){
    str[ i ] = '0' + (char)arr[ i ];
}
str[ i ] = 0;

printf( "%s" , str );

by HolyWings
13年前
フォーラム: C言語何でも質問掲示板
トピック: 画像の表示に詰まってしまいました・・
返信数: 6
閲覧数: 2043

Re: 画像の表示に詰まってしまいました・・

すい さんが書きました:#include "myhelper"
#include "mymain"
#include "myhelper" を
#include "myhelper.h" に

#include "mymain"  を
#include "mymain.h" に

変更してみてください。

拡張子の '.h' が抜けているみたいです。
by HolyWings
14年前
フォーラム: C言語何でも質問掲示板
トピック: ウィンドウ作成
返信数: 9
閲覧数: 4673

Re: ウィンドウ作成

間違っているところを指摘しておきます。 int WinMain(HINSTANCE hInst, HINSTANCE hPrevInst, LPSIR cmdLine, int cmdShow) int WinMain → int WINAPI WinMain //ウィンドウの作成 hMainWindow = CreateWindow(pClassName, "Test", WS_OVERLAPPED | WS_MINIMIZEBOX | WS_SYSMENU | WS_CAPTION, CW_USEDEFALUT, CW_USEDEFAULT, r.right - r.left, r.bot...
by HolyWings
14年前
フォーラム: C言語何でも質問掲示板
トピック: カレントディレクトリなんですが・・・
返信数: 13
閲覧数: 5553

Re: カレントディレクトリなんですが・・・

カレントディレクトリは 、英語で表すと current directory となり 現在の作業ディレクトリのことです。

初期状態では、実行しているプログラムのあるディレクトリに設定されています。


system( "dir" ); は、 カレントディレクトリにあるファイルやディレクトリをコマンドプロンプトに表示する命令です。

それから、カレントディレクトリのパスを表示する命令は system( "cd" ); なので試してみてください。
by HolyWings
14年前
フォーラム: C言語何でも質問掲示板
トピック: マップ移動の当たり判定
返信数: 5
閲覧数: 1930

Re: マップ移動の当たり判定

詳しく見てみたら、見当たる範囲で4つ問題がありました。 1つ目は既に指摘した if 文のところで、 2つ目は、プレイヤーが正しい場所に描画されていないです。 関数 GraphDraw() の中のプレイヤーを描画する部分を // プレイヤーの描画 DrawGraph( 10 * MAP_SIZE, 7 * MAP_SIZE, map_port[1] , TRUE ) ; //TRUEで透過 次のように変更してください。 DrawGraph( PlayerX * MAP_SIZE + 32 * TotalMoveX , PlayerY * MAP_SIZE + 32 * TotalMoveY , ...

詳細検索ページへ移動する