アプリ版:「スタンプのみでお礼する」機能のリリースについて

C#のASP.NET WebアプリケーションのDLLをC#のWindowsFormのexeで呼び出そうとしています。
すると
'System.EntryPointNotFoundException' のハンドルされていない例外が FTPApi.exe で発生しました。
追加情報 : DLL SampleApi.dll の GetURL というエントリ ポイントが見つかりません。
というエラーメッセージが表示されてしまいます。

クラス上部で
[System.Runtime.InteropServices.DllImport("SampleApi.dll", EntryPoint="GetURL")]
public static extern string GetURL();
と宣言した後、呼び出したい場所で、
strUrlPath = GetURL();
と呼んでいます。

よろしくお願いします。

A 回答 (4件)

つっこみどころが色々あるのですが・・・



>private string GetURL()

privateっていうのは以下参照
http://dobon.net/vb/dotnet/beginner/accessibilit …


>C#のASP.NET WebアプリケーションのDLLを

アセンブリについてと、Callの仕方の説明は
http://www.gotdotnet.com/japan/student/column/mo …

>クラス上部で
>[System.Runtime.InteropServices.DllImport
>("SampleApi.dll", EntryPoint="GetURL")]

アンマネージドとアンマネージドコードについて
http://www.atmarkit.co.jp/fdotnet/special/dotnet …
    • good
    • 0
この回答へのお礼

ありがとうございます。
教えていただいたHPを参考にして呼び出せるようになりました。

お礼日時:2003/09/19 15:11

こんにちは。



 Privateなメンバを、そのクラス以外から参照することはできません。


 DLLもC#で作ってあるなら、「参照」に加えればよろしい。このとき、元のソースのメソッドやクラスの宣言の直前の行に///と入力して、コメントを記入していれば、とっても幸せになれます。
    • good
    • 0
この回答へのお礼

真っ先に気がつきました・・・
ありがとうございます。

お礼日時:2003/09/19 15:13

私もこれから、C#をはじめるところです。


C#は、VC++の考えと完全に切離さないといけないと
いけないと教えてもらいました。
その一つに「DLL」です。
C#では、DLLを直接呼び出してはいけないそうで、
このような場合は、別の方法でやらないといけないそ
うです。
私もまだ初心者なので不明点が多いですが、
補足まで。
    • good
    • 0
この回答へのお礼

ありがとうございます。
そのようでした。
何とか解決できました。
私もまだまだ初心者で一つ一つに苦労しています。

お礼日時:2003/09/19 15:10

>追加情報 : DLL SampleApi.dll の GetURL というエントリ ポイントが見つかりません。



無いんじゃないんですか?DLLの方にエントリポイントが。
どのようにDLL内の関数を公開されてるんですか?

というか、クラスのメソッドとかいう話ではないんですか?

この回答への補足

DLLのほうには
private string GetURL()
{
  string strGetUrl = null;
  
  strGetUrl = Request.FilePath;
  
  return strGetUrl;
}
というメソッドがあります。
これを呼び出したいのですが、このメソッドを直接呼び出すということではないのですか?

補足日時:2003/09/19 09:44
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!