追加情報
PC起動
↓
ABエディタでこのソースを貼り付ける
↓
デバッグ実行
↓
コンパイル&実行成功
↓
1文字消してから消した文字を書き直す
↓
デバッグ実行
↓
不正な処理でコンパイラが落ちる
何でしょうこれ?
検索結果 12 件
- 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...
- 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
ただし数の変更が効かないのが難点ですね。
有難う御座いました。
- 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) 要はポインタのポインタ型を使えないかということです。 ポインタ配列を...
- 2005年7月31日(日) 17:16
- フォーラム: プログラミング質問板
- トピック: アイコン無しダイアログ
- 返信数: 14
- 閲覧数: 11475
Re: RADのダイアログをDialogBoxIndirectParamで
> 私のコードはウィンドウクラスを登録して、それをDLGTEMPLATEの後ろにウィンドウクラス名を指定したんです。
> なのであれはダイアログプロシージャではなく、ウィンドウプロシージャなんです。
そうなんですか。
ウィンドウクラスを指定するとダイアログプロシージャではなくなるんですね。
アプリケーションが終了してしまうのは何でだろう…。
> なのであれはダイアログプロシージャではなく、ウィンドウプロシージャなんです。
そうなんですか。
ウィンドウクラスを指定するとダイアログプロシージャではなくなるんですね。
アプリケーションが終了してしまうのは何でだろう…。
- 2005年7月30日(土) 23:03
- フォーラム: プログラミング質問板
- トピック: アイコン無しダイアログ
- 返信数: 14
- 閲覧数: 11475
Re: RADのダイアログをDialogBoxIndirectParamで
できました!! どうもうまくいかないなと思っていたら、DialogBoxIndirectParam関数の第2引数にメモリオブジェクトハンドルを渡してしまっていました。 どっかのサイトではそんな風になってたんだけどな…。 DLGTEMPLATE構造体の後ろに付加しなければならないのは「メニュー」、「クラス名」、「タイトル名」、「フォントサイズ」、「フォント名」、「DLGITEMTEMPLATE構造体配列」らしいです。 いまいちわからないのはMSDNで書かれていたDWord境界に整列するとか何とか。 可変長配列はWord境界ともあったし、どこからどこまでをどう整列すればいいのかよくわからない…。 ...
- 2005年7月29日(金) 15:30
- フォーラム: プログラミング質問板
- トピック: アイコン無しダイアログ
- 返信数: 14
- 閲覧数: 11475
Re: う~ん
DialogBoxIndirectParam関数を調べてみましたが、かなり大変ですね。
DLGTEMPLATE構造体の後につけなければならないという可変長配列もあまりはっきりとわからないし…。
アイコンを無しにするためにここまでやるのも疲れるので、アイコンくらいもう気にしないようにします。(逃?
DLGTEMPLATE構造体の後につけなければならないという可変長配列もあまりはっきりとわからないし…。
アイコンを無しにするためにここまでやるのも疲れるので、アイコンくらいもう気にしないようにします。(逃?
- 2005年7月28日(木) 22:17
- フォーラム: プログラミング質問板
- トピック: アイコン無しダイアログ
- 返信数: 14
- 閲覧数: 11475
Re: う~ん
それも考えたんですけどねー。
ツールウィンドウは別のところで使用しているので意味付け的にちょっと…。
ツールウィンドウは別のところで使用しているので意味付け的にちょっと…。
- 2005年7月28日(木) 21:27
- フォーラム: プログラミング質問板
- トピック: アイコン無しダイアログ
- 返信数: 14
- 閲覧数: 11475
う~ん
やっぱりそういう方法しかないみたいですね。
クローズボタンのみってのができればいいんですけど…。
Cではリソースでダイアログを作成したりするとアイコンなしのが作れますよね。
あれはまた何か特殊だったりするのでしょうか?
とりあえずはアイコン有りでやっていこうかと思います。
有難う御座いました。
クローズボタンのみってのができればいいんですけど…。
Cではリソースでダイアログを作成したりするとアイコンなしのが作れますよね。
あれはまた何か特殊だったりするのでしょうか?
とりあえずはアイコン有りでやっていこうかと思います。
有難う御座いました。
- 2005年7月28日(木) 12:55
- フォーラム: プログラミング質問板
- トピック: アイコン無しダイアログ
- 返信数: 14
- 閲覧数: 11475
アイコン無しダイアログ
タイトルバーのアイコン無しのウィンドウって作れるのでしょうか?
WNDCLASS(EX)構造体 の hIcon・hIconSm を NULL にしたり、WM_SETICONでNULLを送るという方法ではダメでした。
何か条件や他の方法があるのでしょうか?
アイコンのない方がダイアログっぽいかなと思いまして…。
WNDCLASS(EX)構造体 の hIcon・hIconSm を NULL にしたり、WM_SETICONでNULLを送るという方法ではダメでした。
何か条件や他の方法があるのでしょうか?
アイコンのない方がダイアログっぽいかなと思いまして…。
- 2005年7月20日(水) 22:39
- フォーラム: バグ報告
- トピック: コンストラクタでのグローバル変数の書き換え
- 返信数: 2
- 閲覧数: 4936
仕様ですか
わかりやすい説明有難うございます。
結構自分は長いこと勘違いしてました。
普通に関数で同じことをやってみても同じことになりますね。
オブジェクトを生成するたびに次の配列番号を変更していくようにしたかったのですが、コンストラクタでなくても普通に生成後に処理すればよかっただけなんですよね…。
とにかく有難うございました。
結構自分は長いこと勘違いしてました。
普通に関数で同じことをやってみても同じことになりますね。
オブジェクトを生成するたびに次の配列番号を変更していくようにしたかったのですが、コンストラクタでなくても普通に生成後に処理すればよかっただけなんですよね…。
とにかく有難うございました。
- 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の内容が0の状態で obj[a] = New test() などとして、testクラスのコンストラクタでaの内容を書き換えると、代入されるオブジェクトポインタの配列番号はコンストラクタで書き換えられた方が使われてしまいます。
これは仕様でしょうか?バグでしょうか?