- - PR -
【VB6.0】APIのSendMailでエラー
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2005-11-08 14:02
いつもお世話になっております。
開発環境Windows2000Pro+VisualBasic6.0(SP5)において APIのSendMailを用いてメール送信を行おうとしております。 手法としてはネットで調べて以下のものを見つけ http://www.hi-ho.ne.jp/babaq/vbtips.html これをカスタマイズして実行したところ、実行した瞬間に ret = SendMail(szServer, szTo, szFrom, szSubject, szBody, szFile) の部分で『コンパイルエラー:型が一致しません』と表示されます。 DLLもシステムフォルダにコピーされてるのを確認、 APIの宣言も行っております。 Public Declare Function SendMail Lib "bsmtp" _ (szServer As String, szTo As String, szFrom As String, _ szSubject As String, szBody As String, szFile As String) As String SendMailに渡す引数も全てStringです。 何か同じような事象を経験された方いらっしゃいますでしょうか? もし解決法を知っていられたらご教授願います。 | ||||
|
投稿日時: 2005-11-08 14:37
自己解決しました。
SendMailへ渡す引数の宣言で Dim szServer, szTo, szFrom, szSubject, szBody, szFile As String としてたのがまずかったみたいで 一つ一つ宣言しなおすと問題解決できました。 | ||||
|
投稿日時: 2005-11-08 14:51
これは、最後の szFile 以外はすべて Variant 型になります。 C 出身者が初めて VB を触るとやってしまいがちな間違いです。(私もやりました! orz) Dim szServer As String, szTo As String, szSubject As String... ならば OK ですよね。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||
|
投稿日時: 2005-11-08 15:17
DefStr s
というのもありますね。他にも影響するけど。 昔のBASICとの互換のためにあるような命令だと思ってますが、一応。 |
1