olen vielä tosi n00b näitten c++ juttujen kanssa. miten tästä saisi sellaisen, että kun kutsutaan funktiotani msgbox aukeaa messagebox ikkunaan.
#include <windows.h>
#include <string.h>
void msgbox(char viesti, char otsikko);
int main(void) {
    msgbox('Moro kaikille', 'Hähhähhää');
    return 0;
}
void msgbox(char viesti, char otsikko) {
       MessageBox(NULL , viesti[strlen(viesti)], otsikko[strlen(viesti)], MB_OKCANCEL|MB_ICONINFORMATION);
}teen omaa DLL kirjastoa coolbasicille
Tämmöistä olen itse käyttänyt:
#if BUILDING_DLL
# define DLLIMPORT __declspec (dllexport)
#else /* Not BUILDING_DLL */
# define DLLIMPORT __declspec (dllimport)
#endif /* Not BUILDING_DLL */
using namespace std;
#include <windows.h>
extern "C" void MsgBox(char*);
extern "C" void DLLIMPORT MsgBox (char *str)
{
        MessageBox (0, str,"Hello", MB_ICONINFORMATION);
}
BOOL APIENTRY DllMain (HINSTANCE hInst     /* Library instance handle. */ ,
DWORD reason        /* Reason this function is being called. */ ,
LPVOID reserved     /* Not used. */ )
{
        switch (reason)
        {
                case DLL_PROCESS_ATTACH:
                break;
                case DLL_PROCESS_DETACH:
                break;
                case DLL_THREAD_ATTACH:
                break;
                case DLL_THREAD_DETACH:
                break;
        }
        /* Returns TRUE on success, FALSE on failure */
        return TRUE;
}Tässä on koodisi paranneltu versio. Koodi on muuten pelkkää C:tä.
#include <windows.h>
void msgbox(char *viesti, char *otsikko);
int main(void) {
    msgbox("Moro kaikille", "Hähhähhää");
    return 0;
}
void msgbox(char *viesti, char *otsikko) {
    MessageBox(NULL , viesti, otsikko, MB_OKCANCEL | MB_ICONINFORMATION);
}Yksittäinen merkki kirjoitetaan heittomerkkeihin, kokonainen merkkijono kirjoitetaan lainausmerkkeihin. Aliohjelmalle tulee antaa parametriksi osoitin merkkijonoon, jota voi ajatella char-taulukkona. Siis yksi char-muuttuja on yksi merkki.
Merkkijonoista pitää ilmoittaa ensimmäisen merkin osoite muistissa. Taulukon alkioon viitataan hakasuluilla. viesti[0] on merkkijonon ensimmäinen merkki. Pelkkä viesti on osoite ensimmäiseen merkkiin. Yhtä hyvin voitaisiin kirjoittaa &viesti[0].
Hyvin näyttäis toimivan. alotin vasta alle viikko sitten ehkä 3-4 päivää sitten. Jotain osaankin jo kun olen koheltanut kaikenlaisia koodivinkkejä ja muita esimerkkejä
EDIT: Nyt olis sitten käännön vuoro. Miten saisin funktioni käännettyä DLL-kirjastoksi? Käytän Dec-Cpp:tä ja Mingw:tä
EDIT2: Se löytyikin jo.
Aihe on jo aika vanha, joten et voi enää vastata siihen.