Einzelnen Beitrag anzeigen

EWeiss
(Gast)

n/a Beiträge
 
#1

is a 'field' but is used like a 'type'

  Alt 10. Apr 2015, 18:22
Ich erstelle eine Class

Code:
  [SuppressUnmanagedCodeSecurity]
  public sealed class TagsLibraryDefs
  {
    IntPtr HTags = IntPtr.Zero;

    //TagsLibrary_Create
    [DllImport("TagsLib.dll", EntryPoint = "TagsLibrary_Create", CharSet = CharSet.Auto)]
    public static extern HTags TagsLibrary_Create();

  }
Und bekomme einen Fehler wie im Thread Titel beschrieben.

In C++ ist HTAGS als Public definiert da HTAGS von verschiedenen Externals verwendet werden.

Code:
typedef void* HTAGS;
Also wenn HTAGS ermittelt wurde mit TagsLibrary_Create werden in folgenden API's dieses Handle übergeben.

Beispiel:
Code:
typedef BOOL(TAGSLIBCALL *t_TagsLibrary_Free)(HTAGS Tags);
Jemand eine Idee? was schief läuft.

EDIT:
Ich könnte mir das HTAGS vielleicht sparen wenn ich direkt IntPtr zurückgebe.
Hmm....

gruss

Geändert von EWeiss (10. Apr 2015 um 18:28 Uhr)
  Mit Zitat antworten Zitat