- PR -

【VB6.0】APIのSendMailでエラー

1
投稿者投稿内容
チェイス
常連さん
会議室デビュー日: 2005/02/23
投稿数: 27
投稿日時: 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/02/23
投稿数: 27
投稿日時: 2005-11-08 14:37
自己解決しました。

SendMailへ渡す引数の宣言で
Dim szServer, szTo, szFrom, szSubject, szBody, szFile As String
としてたのがまずかったみたいで
一つ一つ宣言しなおすと問題解決できました。
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2005-11-08 14:51
引用:

チェイスさんの書き込み (2005-11-08 14:37) より:

SendMailへ渡す引数の宣言で
Dim szServer, szTo, szFrom, szSubject, szBody, szFile As String
としてたのがまずかったみたいで
一つ一つ宣言しなおすと問題解決できました。


これは、最後の szFile 以外はすべて Variant 型になります。
C 出身者が初めて VB を触るとやってしまいがちな間違いです。(私もやりました! orz)

Dim szServer As String, szTo As String, szSubject As String...

ならば OK ですよね。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
mio
ぬし
会議室デビュー日: 2005/08/25
投稿数: 734
お住まい・勤務地: 神奈川県
投稿日時: 2005-11-08 15:17
DefStr s

というのもありますね。他にも影響するけど。
昔のBASICとの互換のためにあるような命令だと思ってますが、一応。
1

スキルアップ/キャリアアップ(JOB@IT)