![]() |
DLL-Problem - Die 2.
Hi,
diesmal liegt das Problem in der DLL... Die DLL sieht wie folgt aus:
Delphi-Quellcode:
Wenn ich die DLL nun lade mit:
library Project2;
uses SysUtils, Dialogs, Menus, Forms, Classes; function install(Syntaxmenu: TMenuItem): boolean; export; var NewItem: TMenuItem; begin try NewItem := TMenuItem.Create(Syntaxmenu); NewItem.Caption := 'TEST'; NewItem.Visible := true; result := true; except result := false; end; end; exports install; {$R *.res} begin end.
Delphi-Quellcode:
Dann stürzt der mit Haufenweiser Ausnahmefehlern ab... Bis ich dann alles mit den Taskmanager beenden muss...
DLLHandle := LoadLibrary(PChar(OpenDialog2.FileName));
if DLLHandle <> 0 then begin InstFuncPtr := GetProcAddress(DLLHandle,'install'); if InstFuncPtr <> nil then begin @InstFunc := InstFuncPtr; if InstFunc(Syntaxhighlighting1) then begin {...} end; InstFuncPtr := nil; end else ShowMessage('Plugin-DLL ist Fehlerhaft'); end; FreeLibrary(DLLHandle); Chris |
Da die Delphi-Komponenten mit Ansi/Wide-Strings arbeiten, musst Du sowohl in der DLL als auch im Projekt selbst, die unit ShareMem einbinden.
Dann sollte es gehen. |
Hm... Jetzt kommt wieder ein AF! Aber das ist ein anderer, als zuvor.
Chris |
Zitat:
Delphi-Quellcode:
uses ShareMem, Windows, Messages, SysUtils, Classes, ...
|
Hi,
supi jetzt kommt kein Error mehr... Problem ist nur: Es wird kein Menü-Eintrag erstellt... Chris |
Ups.. Lag am falschen Menü... Das Problem ist nun: Wenn ich über das Parentmenü gehe, dann kommt ein Error...
Chris |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:00 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz