重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【GOLF me!】初月無料お試し

FileTimeToSystemTime() の関数を使用したいので、
(General)(Declartion)
の部位に以下の宣言をしたのですが、コンパイルエラーになります。
何が原因か、ご教授いただけないでしょうか?

言語:VB 6.0
OS:Windows XP

Private Declare Function FileTimeToSystemTime Lib "kernel32" _
(lpFileTime As FILETIMEREC, lpSystemTime As SYSTEMTIMEREC) As Long

A 回答 (1件)

関数だけでなく、構造体の宣言も書きましたでしょうか?


あと、関数に書かれた構造体が「FILETIMEREC」「SYSTEMTIMEREC」となっています。(MSDNでは「FILETIME」「SYSTEMTIME」となっています)
独自で書き換えた、あるいはどこかのサイトからコピーしてきたのであれば、構造体宣言と名前が一致していない可能性がありますね。

Private Declare Function FileTimeToSystemTime Lib "kernel32" _
(lpFileTime As FILETIME, lpSystemTime As SYSTEMTIME) As Long

Private Type FILETIME
dwLowDateTime As Long
dwHighDateTime As Long
End Type

Private Type SYSTEMTIME
wYear As Integer
wMonth As Integer
wDayOfWeek As Integer
wDay As Integer
wHour As Integer
wMinute As Integer
wSecond As Integer
wMilliseconds As Integer
End Type

私のほうではこれで問題なく実行できました。
違っているところがないか、見比べてみてください。
    • good
    • 0
この回答へのお礼

>あるいはどこかのサイトからコピーしてきたのであれば、構造体宣言と名前が一致していない可能性がありますね。

そのとおりでした。。
構造体宣言と型名が一致していなくてのコンパイルエラーでした。
何か設定がいるのかと思いきや、こんな初歩的なミスでした。。。

大変助かりました。ありがとうございました。

お礼日時:2009/06/12 09:46

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