差分
このページの2つのバージョン間の差分を表示します。
| 両方とも前のリビジョン前のリビジョン | |||
| youtube:vba-dll-003 [2024/03/10 15:05] – freemikan | youtube:vba-dll-003 [2024/07/12 02:42] (現在) – freemikan | ||
|---|---|---|---|
| 行 149: | 行 149: | ||
| * 64ビット版で使用できるかどうかはわかりません | * 64ビット版で使用できるかどうかはわかりません | ||
| - | <codeprism lang=makefile | + | <file makefile> |
| # モジュール名。 | # モジュール名。 | ||
| # 生成されるファイルのベースとなる名前です。 | # 生成されるファイルのベースとなる名前です。 | ||
| 行 223: | 行 223: | ||
| clean: | clean: | ||
| ${RM} ${DLL} ${IMPLIB} test_${MODNAME}.exe ${SQLITE3_IMPLIB} *.o | ${RM} ${DLL} ${IMPLIB} test_${MODNAME}.exe ${SQLITE3_IMPLIB} *.o | ||
| - | </codeprism> | + | </file> |
| ==== EXLSQLITE3.h ==== | ==== EXLSQLITE3.h ==== | ||
| 行 233: | 行 233: | ||
| そういう理由で、ヘッダも用意しました。 | そういう理由で、ヘッダも用意しました。 | ||
| - | <codeprism lang=cpp el=true css=full> | + | <file cpp> |
| #ifndef EXLSQLITE3_H | #ifndef EXLSQLITE3_H | ||
| #define EXLSQLITE3_H | #define EXLSQLITE3_H | ||
| 行 304: | 行 304: | ||
| #endif | #endif | ||
| - | </codeprism> | + | </file> |
| ==== EXLSQLITE3.cpp ==== | ==== EXLSQLITE3.cpp ==== | ||
| DLLが提供する関数の本体の定義です。 | DLLが提供する関数の本体の定義です。 | ||
| - | <codeprism lang=cpp el=true css=full> | + | <file cpp> |
| #include " | #include " | ||
| 行 450: | 行 450: | ||
| return sqlite3_finalize(as_sqlite3_stmt(stmt)); | return sqlite3_finalize(as_sqlite3_stmt(stmt)); | ||
| } | } | ||
| - | </codeprism> | + | </file> |
| ==== test_EXLSQLITE3.cpp ==== | ==== test_EXLSQLITE3.cpp ==== | ||
| EXLSQLITE3.dllの不完全なテストです。 | EXLSQLITE3.dllの不完全なテストです。 | ||
| - | <codeprism lang=cpp el=true css=full> | + | <file cpp> |
| #include " | #include " | ||
| 行 545: | 行 545: | ||
| exlsqlite3_close(db); | exlsqlite3_close(db); | ||
| } | } | ||
| - | </codeprism> | + | </file> |
| 行 556: | 行 556: | ||
| * [[https:// | * [[https:// | ||
| - | <codeprism lang=vba el=true css=full> | + | <file vba> |
| Option Explicit | Option Explicit | ||
| ' | ' | ||
| 行 843: | 行 843: | ||
| CloseDatabase Db | CloseDatabase Db | ||
| End Sub | End Sub | ||
| - | </codeprism> | + | </file> |
| ==== クラスモジュール Person ==== | ==== クラスモジュール Person ==== | ||
| 行 849: | 行 849: | ||
| Collectionに格納するためにはTypeは使用できないので、クラスモジュールとしています。 | Collectionに格納するためにはTypeは使用できないので、クラスモジュールとしています。 | ||
| - | <codeprism lang=vba el=true css=full> | + | <file vba> |
| ' データメンバをPublicにすることに抵抗がある場合、Get/ | ' データメンバをPublicにすることに抵抗がある場合、Get/ | ||
| Public Id As Long | Public Id As Long | ||
| 行 861: | 行 861: | ||
| Age = -1 | Age = -1 | ||
| End Sub | End Sub | ||
| - | </codeprism> | + | </file> |
| ==== クラスモジュール Monkey ==== | ==== クラスモジュール Monkey ==== | ||
| 行 868: | 行 868: | ||
| Collectionに格納するためにはTypeは使用できないので、クラスモジュールとしています。 | Collectionに格納するためにはTypeは使用できないので、クラスモジュールとしています。 | ||
| - | <codeprism lang=vba el=true css=full> | + | <file vba> |
| ' データメンバをPublicにすることに抵抗がある場合、Get/ | ' データメンバをPublicにすることに抵抗がある場合、Get/ | ||
| Public Id As Long | Public Id As Long | ||
| 行 880: | 行 880: | ||
| Age = -1 | Age = -1 | ||
| End Sub | End Sub | ||
| - | </codeprism> | + | </file> |
| ==== Sheet1 (初期データ) ==== | ==== Sheet1 (初期データ) ==== | ||
| 行 907: | 行 907: | ||
| * オブジェクト名: | * オブジェクト名: | ||
| - | <codeprism lang=vba el=true css=full> | + | <file vba> |
| Option Explicit | Option Explicit | ||
| 行 1082: | 行 1082: | ||
| MsgBox " | MsgBox " | ||
| End Sub | End Sub | ||
| - | </codeprism> | + | </file> |
| ==== Sheet2 (SELECT) ==== | ==== Sheet2 (SELECT) ==== | ||
| 行 1094: | 行 1094: | ||
| * オブジェクト名: | * オブジェクト名: | ||
| - | <codeprism lang=vba el=true css=full> | + | <file vba> |
| Option Explicit | Option Explicit | ||
| 行 1220: | 行 1220: | ||
| End If | End If | ||
| End Sub | End Sub | ||
| - | </codeprism> | + | </file> |
| ==== Sheet1 (初期データ)のためのサンプルデータ ==== | ==== Sheet1 (初期データ)のためのサンプルデータ ==== | ||
