| |
|
|
Christian Eichler | Tiempo otra vez tener Yo una Problema: Yo weiß no, Yo en C++ en diesem Fall una double - Valor zurückgeben kann... [siehe Anhang] Das Problema en DLL en el Anhang es, dass el Profanprogramm (el .prf-Expediente) una otro Valor druckt, como en el DLL eigentlich es ... Como va el
mfg Christian E
PS: Sí, Yo kann me vorstellen, dass Yo euch langsam langweile ... |
|
|
| Debian Lenny, Intel Celeron 2,8 Ghz, 768 MB Ram && Win XP Pro, Intel C2D 1,66Ghz, 2 GB Ram ... PROFAN² 6.6 | 12.12.2007 ▲ |
|
|
|
|
Michael Wodrich | Float bajo C, como hay el 4 Byte großen y el 8 Byte großen.
En el kleineren mußt Usted con Single/Double umwandeln (siehe en el Ayuda).
Tal vez schreibt Sebastian uns sí veces una Tutorial a Erstellung de C-DLL - con Übergabe/Rückgabe aller Profanwerte. Dann wäre alles dazu en una Fleck.
PS: Sí, Yo kann me vorstellen, dass Yo euch langsam langweile ...
Su Fragen son siempre muy interessant...
Wozu muß el Función eigentlich CALLBACK ser? Hast Usted lo veces sin esta Angabe intenta?
Schöne Grüße Michael Wodrich |
|
|
| Programmieren, das spannendste Detektivspiel der Welt. | 12.12.2007 ▲ |
|
|
|
|
Frank Abbing | Übergib simplemente una Zeiger en una Speicherbereich. In el kannst du cualquier viele Bytes speichern. |
|
|
| |
|
|
|
Sebastian König | ¡Hola,
XProfan esperado como Rückgabewert de externo Características siempre Werte con uno Größe de 4 Byte, also en el Grunde Longs. Natürlich puede ser en el DLL simplemente una C/C++ float zurückgeben y luego en XProfan con @Double() umwandeln, also para Ejemplo:
C++: KompilierenMarcaSeparación XProfan: KompilierenMarcaSeparación A Rückgabe de C/C++ doubles, el sí una Breite de 8 Byte haben, es Franks Vorschlag con el Zona genau correcto. Für una individual Valor podría el entonces así aussehen:
C++: KompilierenMarcaSeparación XProfan: KompilierenMarcaSeparación MfG
Sebastian |
|
|
| |
|
|
|
Christian Eichler | Hmm... seit uno Stunde versuch Yo ahora el para laufen a bringen. Erst Yo quería el DLL con Profano aufrufen. Como lo aber el Funktuonen Float() y Double() no son, tener Yo veces con String$() intenta, bin aber en el Nase gefallen. Dann tener Yo pensamiento, dass lo eh sinnvoller wäre, en el DLL con C++ zuzugreifen. Okay, geschafft tener Yo, el Yo DLL mithilfe de LoadLibrary a invitar y luego con ... naja, schaut euch simplemente el código a : KompilierenMarcaSeparación In el DLL dll.dll ( ) es lediglich una Función, el funk heißt y una Int-Parámetro ha, y como Rückgabewert auch otra vez esta Parámetro zurückgibt .
Laden kann Yo el DLL, funktionnieren tuts anscheinend auch. Nur una double oder float como Rückgabewert funktionniert no. ... ... also otra vez el altbekannte Problema ... ajjj ... Naja, para heute langts me ... tener sí schließlich heute ya una 3 - stüniges Deutschaufsatzschreiben hinter me ...
Wenns na no así kompliziert wäre ....
mfg Christian E |
|
|
| Debian Lenny, Intel Celeron 2,8 Ghz, 768 MB Ram && Win XP Pro, Intel C2D 1,66Ghz, 2 GB Ram ... PROFAN² 6.6 | 13.12.2007 ▲ |
|
|
|
|
Sebastian König | Ah, Yo hatte übersehen, dass Usted con Profano² 6.6 arbeitest - como hay @Double(), @Single() y @Float() todavía no... Für el ersten beiden findest Usted Ersatz-Prozeduren en media alten DirectX-Codes - el son allerdings algo unbequem en el Handhabung
En el otro Problema wäre lo hilfreich, si veces el Quellcode el Función funk puesto könntest. Soll esta una Fließkommazahl zurückgeben? Wenn sí, liegt el Fehler evtl. simplemente en el Línea
typedef int (*DLLFUNC)(int);
Diese definiert schließlich DLLFUNC como Zeiger en una Función, el una int como Argument esperado y una int zurückgibt. Abgesehen su fehlt auch el WINAPI o. __stdcall a Aufrufkonvention anzugeben...
MfG
Sebastian |
|
|
| |
|
|
|
Christian Eichler | Ah, danke
Yo habs des ahora soweit geschafft, dass lo funktionniert, lag wirklich irgendwie a el no passenden ints
Gracias soweit. Ergebniss se Nuevo, si verwertbar ...
mfg Christian E |
|
|
| Debian Lenny, Intel Celeron 2,8 Ghz, 768 MB Ram && Win XP Pro, Intel C2D 1,66Ghz, 2 GB Ram ... PROFAN² 6.6 | 13.12.2007 ▲ |
|
|
|