ab.com コミュニティ

ActiveBasicを通したコミュニケーション
現在時刻 - 2024年4月27日(土) 17:59

全ての表示時間は UTC+09:00 です




新しいトピックを投稿する  トピックへ返信する  [ 4 件の記事 ] 
作成者 メッセージ
 記事の件名: Long型のポインタ
投稿記事Posted: 2005年7月18日(月) 22:49 
オフライン

登録日時: 2005年7月17日(日) 09:36
記事: 36
お住まい: 千葉県松戸市
コード:
Dim APtr As DWordPtr
APtr=calloc(10)
APtr[0]=-10
MessageBox(0,Str$(APtr[0]),"",MB_OK)
free(APtr)
これでは-10が表示されないのは当然(DWordPtrなので)ですが、符号付整数のポインタがないので困っています。なにかよい方法はございませんでしょうか。


通報する
ページトップ
 記事の件名: Re: Long型のポインタ
投稿記事Posted: 2005年7月19日(火) 00:05 
オフライン

登録日時: 2005年5月31日(火) 10:52
記事: 264
お住まい: 高知
>
コード:
Dim APtr As DWordPtr
> APtr=calloc(10)
> APtr[0]=-10
> MessageBox(0,Str$(APtr[0]),"",MB_OK)
> free(APtr)
> これでは-10が表示されないのは当然(DWordPtrなので)ですが、符号付整数のポインタがないので困っています。なにかよい方法はございませんでしょうか。
コード:
Dim APtr As DWordPtr
APtr=calloc(4*10)
APtr[0]=-10
Dim B As Long
B=APtr[0]
MessageBox(0,Str$(B),"",MB_OK)
free(APtr)
ではダメですか?


もしかしたら下記でも動くかもしれませんが。。。
コード:
Dim APtr As *Long
APtr=calloc(4*10)
APtr[0]=-10
MessageBox(0,Str$(APtr[0]),"",MB_OK)
free(APtr)


通報する
ページトップ
 記事の件名:
投稿記事Posted: 2005年7月19日(火) 00:20 
オフライン

登録日時: 2005年7月17日(日) 09:36
記事: 36
お住まい: 千葉県松戸市
NoWest様、早速のご返事ありがとうございます。
引用:
Dim APtr As DWordPtr
APtr=calloc(4*10)
APtr[0]=-10
Dim B As Long
B=APtr[0]
MessageBox(0,Str$(B),"",MB_OK)
free(APtr)
でうまく動きました。しかし残念ながら下記のコードではうまく動作しませんでした。これではなぜダメなのでしょうか。
引用:
Dim APtr As *Long
APtr=calloc(4*10)
APtr[0]=-10
MessageBox(0,Str$(APtr[0]),"",MB_OK)
free(APtr)


通報する
ページトップ
 記事の件名:
投稿記事Posted: 2005年7月19日(火) 00:56 
オフライン

登録日時: 2005年5月31日(火) 10:52
記事: 264
お住まい: 高知
しかし残念ながら下記のコードではうまく動作しませんでした。これではなぜダメなのでしょうか。
>
引用:
Dim APtr As *Long
> APtr=calloc(4*10)
> APtr[0]=-10
> MessageBox(0,Str$(APtr[0]),"",MB_OK)
> free(APtr)
多分、*Longというポインタを作っても、*Dwordのポインタとして認識されているんだと思います。
目的の変数を噛ませれば問題なく動作しますので特にどうってことはないんですが、、ポインタ操作が多くなってくるとポインタへのアクセス法も各変数に対応したものにしないといけないと思いますね。


通報する
ページトップ
期間内表示:  ソート  
新しいトピックを投稿する  トピックへ返信する  [ 4 件の記事 ] 

全ての表示時間は UTC+09:00 です


オンラインデータ

このフォーラムを閲覧中のユーザー: なし & ゲスト[9人]


トピック投稿:  可
返信投稿:  可
記事編集: 不可
記事削除: 不可
ファイル添付: 不可

検索:
ページ移動:  
Powered by phpBB® Forum Software © phpBB Limited
Japanese translation principally by ocean