1

静的ライブラリを使用してdllをロードする必要があります。dllをロードする方法は知っていますが、ロードライブラリに文字配列を追加する方法を理解できません。forループを使用しようとしましたが、ロードライブラリブラケット内では実行されませんでした。与えられた仕様に反しているため、文字列を使用できません。

int PlayARound(int &score, int &numAsked, char roundName[])
{
    HINSTANCE hinstLib;
    getQuesPnt ProcAdd;
    BOOL fFreeResult, fRunTimeLinkSuccess = FALSE;

    hinstLib = LoadLibrary();
}

これは宿題であると言わなければならないので、正しい方向に向けられるだけの完全な解決策を探しているわけではありません。

4

1 に答える 1

2

コメントで発見されたので、必要なのは配列をにキャストすることだけですLPCTSTR

hinstLib = LoadLibrary((LPCTSTR)roundName);

ただし、適切な方法は宣言を変更することでした

int PlayARound(int &score, int &numAsked, LPCTSTR roundName);

次に、TEXTマクロを使用してプログラムをUnicode対応にします

PlayARound(score, numAsked, TEXT("demo.dll"));
于 2012-11-21T11:58:33.417 に答える