Collegamento di file C obj in un'applicazione Delphi, risolvere le dipendenze C standard
Domanda
ho compilato con la linea di comando del compilatore BCC 5.5, ora ho un sacco di file obj che mi piacerebbe creare un collegamento nella mia applicazione Delphi. Purtroppo, ho un sacco di errori "di dichiarazione Insoddisfatto avanti o esterno", indicando le funzioni standard della libreria C come memcpy, aperto, recv ecc ... Cosa devo fare per compilare in modo corretto? Mi piacerebbe evitare di seconda msvcrt.dll o altre librerie esterne.
Grazie in anticipo!
Soluzione
A seconda della versione di Delphi che hai, ci dovrebbe essere un'unità chiamata crtl.dcu con il quale è possibile collegare. Basta usare la direttiva $ L per ogni file obj in un'unità che utilizza anche Crtl. Potrebbe anche essere necessario a "usare" le altre varie unità come Windows, WinSock, ecc ... Il punto è quello di fornire i simboli e le funzioni per risolvere durante la fase di collegamento.
Questa è la stessa tecnica utilizzata per collegare in modo statico nel codice DataSnap TClientDataSet utilizzato per costruire anche midas.dll.
Altri suggerimenti
vi consigliamo di leggere l'articolo di Rudy qui "Utilizzo di file C di oggetti in Delphi"
Non utilizzare queste funzioni, ma li riscrivere per richiamare le funzioni del sistema operativo (kernel32 / system32) direttamente.