Thema: OpenCascade

Einzelnen Beitrag anzeigen

Raible

Registriert seit: 12. Mär 2012
30 Beiträge
 
#8

AW: OpenCascade

  Alt 19. Jul 2016, 09:07
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?
  Mit Zitat antworten Zitat