vielen Dank schon mal im voraus.
was meinen eigenen C/C++ Code anbelangt habe ich zunächst
ein
Win32 Projekt mit Anwendungstyp
DLL erstellt.
Die dabei erstellten Dateien
dllmain.cpp
stdafx.cpp
stdafx.h
targetver.h
sind unverändert.
zusätzlich erstellte ich die Datei "C_WNT_Window.cpp" mit folgendem Inhalt:
Code:
#include "stdafx.h"
#include <WNT_Window.hxx>
#define EXPORTCALL __declspec(dllexport)
typedef WNT_Window *WNT_WindowHandle;
extern "C"
{
WNT_WindowHandle EXPORTCALL NewWNT_Window(
const Aspect_Handle aHandle,
const Quantity_NameOfColor aBackColor = Quantity_NOC_MATRAGRAY)
{
WNT_WindowHandle
handle = new WNT_Window(aHandle, aBackColor);
return
handle;
}
void EXPORTCALL DeleteWNT_Window(WNT_WindowHandle
handle)
{
handle->Unmap();
delete
handle;
}
}// extern "C"
Damit wollte ich testen ob es mir überhaupt gelingt ein C++ Object
aus Delphi heraus zu verwenden.
Die Fehler ereignen sich aber bereits bei der Initialisierung der OCC DLLs.
Obiger Code ist da noch nicht involviert.
auf der Delphi Seite binde ich die
DLL Dynamisch ein
Code:
unit OCCWrapper;
interface
uses
WinApi.Windows;
const
LibName = 'OCCWrapper.dll';
var
OCCLibHnd: THandle;
implementation
initialization
OCCLibHnd := LoadLibrary(LibName);
finalization
FreeLibrary(OCCLibHnd);
OCCLibHnd := 0;
end.
Möglicherweise genügt es nicht, nur #include <WNT_Window.hxx> einzubinden?