お世話になります
たびたび申し訳ないですが
C#でDLLとリンクするプログラムを作成してます。
その時に、DLLの関数へポインタを渡すんですが
おそらくその時に、アクセス違反が起きてます。
以下ソースです。
引数として渡されるStringには数字が入ってます。
unsafe public short import(String s)
{
short ret = 999;
short no;
uint brate;
char bit = '8';
char Parity = 'N';
no = short.Parse(s);
brate = uint.Parse("9600");
// 問題の箇所
ret = dllImport(no, brate, &bit, &Parity);
return ret;
}
これは私の予想なのですが
上記で宣言した char bit、 char Parity がpublicではないので
DLL内で参照するときに、エラーが出てしまうのではないかと考えて
char bit、 char Parity をどうにかpublicにできないか試したのですが
調べてもどうも方法がわからず、相談させていただきました。
そもそもpublicにしたところで、エラーが出なくなるか不明ですし
根本の原因がわかりません。
少ない情報で大変恐縮ですが
お分かりになる方、ご教授お願い致します。
No.2ベストアンサー
- 回答日時:
>dllImport
DllImportではないですか?
だとすると、使い方が全然違います。
第一、関数のエントリポイントは何処で
宣言したんですか?
因みに、DLLには変数の値かアドレスが
渡るので、変数自体がpublicかどうかは
関係がありません。呼び出し元が参照
できるものであれば何でもよいのです。
ご回答ありがとうございます
やはりpublicは関係ないですか・・
もう少し調べてみます。
dllImportは関数の名前を私が書き換えたものです
DllImportについては掲載し忘れておりました。
ご迷惑おかけします
No.1
- 回答日時:
C#でポインタを使ったことはないので解決策はわかりませんが(そもそもDLLの関数がどんなものかも書かれてないし)
>上記で宣言した char bit、 char Parity がpublicではないので
>DLL内で参照するときに、エラーが出てしまうのではないかと考えて
>char bit、 char Parity をどうにかpublicにできないか試したのですが
>調べてもどうも方法がわからず、相談させていただきました。
変数のbit,Parityがpublicでないことはまったく関係ないはずです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
つい集めてしまうものはなんですか?
人間誰もは1つ「やたらこればかり集めてしまう」というものがあるもの。 あなたにとって、つい集めてしまうものはなんですか?
-
一回も披露したことのない豆知識
あなたの「一回も披露したことのない豆知識」を教えてください。 「そうなんだね」と「確かに披露する場所ないね」で評価します。
-
メモのコツを教えてください!
メモを取るのが苦手です。 急いでメモすると内容がごちゃごちゃになってしまったり、ひどいときには全く読めない時もあります。
-
牛、豚、鶏、どれか一つ食べられなくなるとしたら?
牛肉、豚肉、鶏肉のうち、どれか一種類をこの先一生食べられなくなるとしたらどれを我慢しますか?
-
「お昼の放送」の思い出
小学校から中学校、ところによっては高校まで お昼休みに校内放送で、放送委員が音楽とかおしゃべりとか流してましたよね。 最近は自分でもラジオができるようになって、そのクオリティもすごいことになっていると聞きます。
-
読み込み中にアクセス違反が発生しました、と出ます。これを回避することは
C言語・C++・C#
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・チョコミントアイス
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・あなたの習慣について教えてください!!
- ・ハマっている「お菓子」を教えて!
- ・高校三年生の合唱祭で何を歌いましたか?
- ・【大喜利】【投稿~11/1】 存在しそうで存在しないモノマネ芸人の名前を教えてください
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・家の中でのこだわりスペースはどこですか?
- ・つい集めてしまうものはなんですか?
- ・自分のセンスや笑いの好みに影響を受けた作品を教えて
- ・【お題】引っかけ問題(締め切り10月27日(日)23時)
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・10秒目をつむったら…
- ・人生のプチ美学を教えてください!!
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
char 文字列型 の表現範囲が-12...
-
小数点入りの文字列をfloat型に...
-
C言語のintとcharの違いってな...
-
C言語のプログラムについてです
-
char*を初期化したいのですが
-
文字型配列に格納した空白の切捨て
-
C言語にて構造体のメンバがNULL...
-
char型にint型の数値を代入する。
-
new charとnew char[N]の違いは?
-
strcat関数
-
SetWindowTextについて。
-
strcat関数を自作したいです
-
文字列配列を動的に割り当てる...
-
C言語 char 型 を数値として...
-
動的メモリの初期化方法について。
-
構造体のメンバーの静的なサイ...
-
CStringからchar*への型変換に...
-
プログラミングの問題なのですが、
-
可変長構造体をファイルから読...
-
C言語 配列の長さの上限
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
C言語のintとcharの違いってな...
-
CStringからchar*への型変換に...
-
char*を初期化したいのですが
-
C言語にて構造体のメンバがNULL...
-
fstream型オブジェクトを関数の...
-
小数点入りの文字列をfloat型に...
-
new charとnew char[N]の違いは?
-
DWORDとcharの変換
-
char型にint型の数値を代入する。
-
C言語のプログラムについてです
-
2次元配列の文字"列"の初期化方法
-
文字型配列に格納した空白の切捨て
-
C++17で、unsigned char * 配列...
-
char 文字列型 の表現範囲が-12...
-
文字列の途中から途中までを抽出
-
警告
-
C言語 strstrの実装
-
コマンドライン引数 *argv[]は...
-
csvファイルをfscanfで読み込む...
-
C言語の文字リテラル中の16進文...
おすすめ情報