検索結果 12 件

by 真紅
2006年2月24日(金) 14:18
フォーラム: バグ報告
トピック: 関数ポインタ型メンバ変数
返信数: 2
閲覧数: 4769

追記

追加情報

PC起動

ABエディタでこのソースを貼り付ける

デバッグ実行

コンパイル&実行成功

1文字消してから消した文字を書き直す

デバッグ実行

不正な処理でコンパイラが落ちる

何でしょうこれ?
by 真紅
2006年2月22日(水) 18:14
フォーラム: バグ報告
トピック: 関数ポインタ型メンバ変数
返信数: 2
閲覧数: 4769

関数ポインタ型メンバ変数

Ver4.21にて ↓をデバッグ実行(F2)しようとすると、コンパイラが不正な処理で落ちます。 ところが、デバッグコンパイル(F4)やリリースコンパイル(F7)では問題なくコンパイルが完了し、動作も問題ありませんでした。 #console Class HideMenuItem Private ItemStr As BytePtr pfDraw As *Sub() pfMain As *Sub() pfSet As *Sub() Public Sub ~HideMenuItem() free(ItemStr) End Sub Sub Set(str As BytePtr, pfMain As V...
by 真紅
2005年8月08日(月) 23:22
フォーラム: プログラミング質問板
トピック: ポインタのポインタ
返信数: 2
閲覧数: 4441

Re: ポインタのポインタ

結局こんな感じにしたら割と楽になりました。

コード: 全て選択


Class TEST
Public
    b As Long
End Class

Dim a As *TEST
Dim i As Long

a = New[ELM(4)] TEST
For i = 0 To 3
    a.b = 1
Next
Delete a

ただし数の変更が効かないのが難点ですね。

有難う御座いました。
by 真紅
2005年8月07日(日) 15:28
フォーラム: プログラミング質問板
トピック: ポインタのポインタ
返信数: 2
閲覧数: 4441

ポインタのポインタ

クラスオブジェクトのポインタの配列を扱いたいのですが、配列数が不定なので動的にメモリを確保したいのです。 静的であれば、 Dim test[100] As *TEST とすればうまくいくのですが…。 ↓のような事をしようとしています。 Class TEST Public b As Long End Class Dim a As **TEST Dim i As Long a = malloc(4 * 4) For i = 0 To 3 a = New test() a ->b = 1 Delete a Next free(a) 要はポインタのポインタ型を使えないかということです。 ポインタ配列を...
by 真紅
2005年7月31日(日) 17:16
フォーラム: プログラミング質問板
トピック: アイコン無しダイアログ
返信数: 14
閲覧数: 11475

Re: RADのダイアログをDialogBoxIndirectParamで

> 私のコードはウィンドウクラスを登録して、それをDLGTEMPLATEの後ろにウィンドウクラス名を指定したんです。
> なのであれはダイアログプロシージャではなく、ウィンドウプロシージャなんです。

そうなんですか。
ウィンドウクラスを指定するとダイアログプロシージャではなくなるんですね。
アプリケーションが終了してしまうのは何でだろう…。
by 真紅
2005年7月30日(土) 23:03
フォーラム: プログラミング質問板
トピック: アイコン無しダイアログ
返信数: 14
閲覧数: 11475

Re: RADのダイアログをDialogBoxIndirectParamで

できました!! どうもうまくいかないなと思っていたら、DialogBoxIndirectParam関数の第2引数にメモリオブジェクトハンドルを渡してしまっていました。 どっかのサイトではそんな風になってたんだけどな…。 DLGTEMPLATE構造体の後ろに付加しなければならないのは「メニュー」、「クラス名」、「タイトル名」、「フォントサイズ」、「フォント名」、「DLGITEMTEMPLATE構造体配列」らしいです。 いまいちわからないのはMSDNで書かれていたDWord境界に整列するとか何とか。 可変長配列はWord境界ともあったし、どこからどこまでをどう整列すればいいのかよくわからない…。 ...
by 真紅
2005年7月29日(金) 15:30
フォーラム: プログラミング質問板
トピック: アイコン無しダイアログ
返信数: 14
閲覧数: 11475

Re: う~ん

DialogBoxIndirectParam関数を調べてみましたが、かなり大変ですね。

DLGTEMPLATE構造体の後につけなければならないという可変長配列もあまりはっきりとわからないし…。

アイコンを無しにするためにここまでやるのも疲れるので、アイコンくらいもう気にしないようにします。(逃?
by 真紅
2005年7月28日(木) 22:17
フォーラム: プログラミング質問板
トピック: アイコン無しダイアログ
返信数: 14
閲覧数: 11475

Re: う~ん

それも考えたんですけどねー。

ツールウィンドウは別のところで使用しているので意味付け的にちょっと…。
by 真紅
2005年7月28日(木) 21:27
フォーラム: プログラミング質問板
トピック: アイコン無しダイアログ
返信数: 14
閲覧数: 11475

う~ん

やっぱりそういう方法しかないみたいですね。
クローズボタンのみってのができればいいんですけど…。

Cではリソースでダイアログを作成したりするとアイコンなしのが作れますよね。
あれはまた何か特殊だったりするのでしょうか?

とりあえずはアイコン有りでやっていこうかと思います。
有難う御座いました。
by 真紅
2005年7月28日(木) 12:55
フォーラム: プログラミング質問板
トピック: アイコン無しダイアログ
返信数: 14
閲覧数: 11475

アイコン無しダイアログ

タイトルバーのアイコン無しのウィンドウって作れるのでしょうか?

WNDCLASS(EX)構造体 の hIcon・hIconSm を NULL にしたり、WM_SETICONでNULLを送るという方法ではダメでした。
何か条件や他の方法があるのでしょうか?

アイコンのない方がダイアログっぽいかなと思いまして…。
by 真紅
2005年7月20日(水) 22:39
フォーラム: バグ報告
トピック: コンストラクタでのグローバル変数の書き換え
返信数: 2
閲覧数: 4936

仕様ですか

わかりやすい説明有難うございます。
結構自分は長いこと勘違いしてました。
普通に関数で同じことをやってみても同じことになりますね。

オブジェクトを生成するたびに次の配列番号を変更していくようにしたかったのですが、コンストラクタでなくても普通に生成後に処理すればよかっただけなんですよね…。

とにかく有難うございました。
by 真紅
2005年7月20日(水) 18:22
フォーラム: バグ報告
トピック: コンストラクタでのグローバル変数の書き換え
返信数: 2
閲覧数: 4936

コンストラクタでのグローバル変数の書き換え

コード: 全て選択


Dim a As Long

Class test
Public
	Sub test()
		a = 1
	End Sub
End Class

Dim obj[1] As *test
obj[a] = New test()

debug
オブジェクトポインタの配列で配列番号にaという変数を使用しています。
aの内容が0の状態で obj[a] = New test() などとして、testクラスのコンストラクタでaの内容を書き換えると、代入されるオブジェクトポインタの配列番号はコンストラクタで書き換えられた方が使われてしまいます。

これは仕様でしょうか?バグでしょうか?