AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

.net DLL in Delphi für Win32 nutzen

Ein Thema von XChris · begonnen am 15. Jun 2006 · letzter Beitrag vom 16. Jun 2006
Antwort Antwort
XChris

Registriert seit: 2. Jun 2006
Ort: Softwaresklave
19 Beiträge
 
#1

.net DLL in Delphi für Win32 nutzen

  Alt 15. Jun 2006, 11:06
Hallo,

kennt wer ein nettes Turtorial, wo ich mir anschauen kann, wie man eine .net DLL in delphi nutzt? Für eine kleine Hilfestellung wäre ich dankbar.

Chris
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: .net DLL in Delphi für Win32 nutzen

  Alt 15. Jun 2006, 11:10
Schau mal hier
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.169 Beiträge
 
Delphi 10.4 Sydney
 
#3

Re: .net DLL in Delphi für Win32 nutzen

  Alt 15. Jun 2006, 11:21
Da der Sourceforge-Teil nicht sehr aktiv is empfehle ich dir mal Managed VCL anzuschauen wenn Du nicht über den generellen "Umweg" über COM-Wrapper gehen willst.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
XChris

Registriert seit: 2. Jun 2006
Ort: Softwaresklave
19 Beiträge
 
#4

Re: .net DLL in Delphi für Win32 nutzen

  Alt 15. Jun 2006, 12:08
Holla, danke für die schnellen Tips.

Ich habe ein fertiges Win32 Programm und brauch aus einer DLL nur einige Methoden aufrufen. Diese geben meist nur INTEGER, DOUBLE BOOL oder STRING zurück. Irgendwie muss doch wer 2 bsp. Codesnipsel haben ...

Chris
  Mit Zitat antworten Zitat
XChris

Registriert seit: 2. Jun 2006
Ort: Softwaresklave
19 Beiträge
 
#5

Re: .net DLL in Delphi für Win32 nutzen

  Alt 16. Jun 2006, 08:20
Hallo,

ich bin ein Stück weiter. Bekomme aber in der Win32 Delpi Anwendung eine Fehler (Zugriff ins Leere ...)

Hier mein Code:

NET.dll:


Delphi-Quellcode:
unit Envisys.TestMich;
interface
uses System.Runtime.InteropServices;
type
[ComVisible(true)]
TestMich = class
private
{ Private-Deklarationen }
strict protected

public
constructor Create;
class function GetA(): Integer; static;
end;

implementation
constructor TestMich.Create;
begin
inherited Create;

// TODO: Hier die Konstruktorlogik einfügen
end;

[ComVisible(true)]
class function TestMich.GetA: Integer;
begin
result := 5;
end;
end.

dann hab ich in dem Verzeichniss wo die Anwendung liegt regasm.exe netstuff.dll aufgerufen. Nun will ich sie in delphi (Win32) nutzen:


Delphi-Quellcode:
unit Test;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls,
ComObj;

const NET_DLL='NetStuff.dll';
function GetA(): integer; stdcall; external NET_DLL;

type
TForm1 = class(TForm)
LabelName: TLabel;
procedure Button1Click(Sender: TObject);

private

public
{ Public-Deklarationen }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
LabelName.Caption:= IntToStr(GetA());
end;

end.
Was mach ich nur falsch? Ich denke, der Zugriff in Win32 auf das ComObject ist falsch. Kann wer helfen?
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.169 Beiträge
 
Delphi 10.4 Sydney
 
#6

Re: .net DLL in Delphi für Win32 nutzen

  Alt 16. Jun 2006, 08:30
Zitat von XChris:
Was mach ich nur falsch? Ich denke, der Zugriff in Win32 auf das ComObject ist falsch. Kann wer helfen?
Das stimmt. Du greift wie auf eine "normale" DLL zu. Für COM-Objekte mußt du die Typbibliothek (Projekte/Typbibliothek importieren) importieren und dann über das COM-Interface darauf zugreifen.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:19 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz