Visualizzazione dei risultati da 1 a 3 su 3

Discussione: [C++]Importare dll

  1. #1

    [C++]Importare dll

    Ho il seguente cod:
    codice:
     #include <iostream>
    #include <cstdio>
    #include <windows.h>
    
    HMODULE hModule = LoadLibrary("Engine.dll");
    bool __stdcall (*op)( string );
    
    using namespace std;
    
    int main()
    {
        op = ( bool __stdcall ( * )( string ) ) GetProcAddress( hModule, "Open" );
        if( op("prova.txt") == true)
        {
            cout << "Ok!\n"<<endl;
        }else
        {
            cout << "No!\n"<<endl;
        }
        return 0;
    }
    Ma mi da:
    C:/Documents and Settings/Admin/Desktop/Edit/Teck Edit/Src/Test/Test.cpp:6: `
    string' was not declared in this scope
    C:/Documents and Settings/Admin/Desktop/Edit/Teck Edit/Src/Test/Test.cpp:6: warning: `
    __stdcall__' attribute only applies to function types
    C:/Documents and Settings/Admin/Desktop/Edit/Teck Edit/Src/Test/Test.cpp: In
    function `int main()':
    C:/Documents and Settings/Admin/Desktop/Edit/Teck Edit/Src/Test/Test.cpp:12: cannot
    convert `bool (*)(std::basic_string<char, std::char_traits<char>,
    std::allocator<char> >)' to `bool*' in assignment
    C:/Documents and Settings/Admin/Desktop/Edit/Teck Edit/Src/Test/Test.cpp:13: `
    op' cannot be used as a function

    Esecuzione terminata
    La stupidità umana e l'universo sono infinite.
    Della seconda non sono certo(Einstein)

    Gnu/Linux User

  2. #2
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    4
    codice:
    #include <iostream>
    #include <cstdio>
    #include <windows.h>
    using namespace std;
    
    typedef bool (__stdcall * OPENFUNC) (string);
    
    int main()
    {
    	HMODULE hModule = LoadLibrary("Engine.dll");
    	if (hModule)
    	{
    		OPENFUNC op = (OPENFUNC) GetProcAddress(hModule, "Open" );
    
    		if( op("prova.txt") )
    			cout << "Ok!\n";
    		else
    			cout << "No!\n";
    	} else
    		cout << "Dll non trovata!\n";
    
    
        return 0;
    }

    io non userei la classe string, ma dei semplici puntotori ad array di caratteri null-terminati :-|

  3. #3
    tnk x l'aiuto
    La stupidità umana e l'universo sono infinite.
    Della seconda non sono certo(Einstein)

    Gnu/Linux User

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.