Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    Dll - Ritornare oggetti

    Salve a tutti,

    avrei un quesito da porvi:

    In una DLL è possibile far ritornare da una funzione un oggetto di una certa classe? Il programma che carica la dll e chiama la funzione per ottenere l'oggetto di questa classe come gestirà questo oggetto? Potrà vedere i suoi metodi?

    Scusate ma sono appena approdato alle DLL.

    Grazie per la pazienza.

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Puoi sicuramente restituire un puntatore ad un oggetto allocato dinamicamente a patto che le due parti (main e dll) conoscano la classe dell'oggetto (utilizzano ambedue lo stesso class.h in cui è descritta la classe).

    Parliamo di C++ ?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    e se il programma che dovrà usare la dll è scritto in un altro linguaggio diverso dal c++?

  4. #4
    Si scusami, parliamo di c++.

  5. #5
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    C++ o no?

    Per linguaggi diversi bisogna esaminare caso per caso ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  6. #6
    La dll è scritta ed usa classi in c++.

    La mia curiosità è se è possibile utilizzare una dll richiamandola in un programma scritto in un altro linguaggio. Quali sono gli accorgimenti generali da dover usare. Qual'è la logica di approccio alle dll, per me è un argomento nuovo

  7. #7
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Ok ... ti ripeto ... dipende, caso per caso, dall'altro linguaggio.

    E ovviamente dalla disponibilità delle informazioni relativa alla classe (insomma devi avere il class.h ...)
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  8. #8
    ok grazie per la tua disponibilità

  9. #9
    In generale comunque la questione non è banale, dato che C++ non specifica una ABI né un layout binario standard per gli oggetti forniti dalla libreria; ergo, o da entrambi i lati sono compilati con lo stesso compilatore C++, o usi COM oppure la cosa più semplice alla fine è fornire un wrapper C (eventualmente anche "ad oggetti", restituendo struct di puntatori a funzione).
    Amaro C++, il gusto pieno dell'undefined behavior.

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.