AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Delphi Dll in VB6 nutzen

Ein Thema von Maa83 · begonnen am 4. Okt 2006 · letzter Beitrag vom 6. Okt 2006
Antwort Antwort
Maa83

Registriert seit: 7. Nov 2002
220 Beiträge
 
Delphi 10.3 Rio
 
#1

Delphi Dll in VB6 nutzen

  Alt 4. Okt 2006, 13:48
Hallo,

ich habe ich Delphi6 eine Dll erstellt. Dieses ist ein Automationsobjekt.
In der Dll steckt zusätzlich (bzw. als Hauptbestandteil) eine Formklasse (TForm). Diese Dll möchte ich nun in VB6 verwenden. D.h. wenn ich in VB auf einen Button drücke soll die Dll initialisiert werden. Danach soll über eine Methode die auch public ist die Formklasse aufgerufen und angezeigt werden. Kann mir irgendjemand helfen wie ich das bewerkstellige?

Ich scheitere bereits an der Initialisierung der Dll.

Set MyVariable = CreateObject("DllName.Klasse")

An diesem Aufruf scheitere ich bereits mit der Fehlermeldung:

"Laufzeitfehler 429: Objekterstellung durch ActiveX-Komponente nicht möglich."


Vielen Dank für eure Mühen
Martin
Martin
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#2

Re: Delphi Dll in VB6 nutzen

  Alt 5. Okt 2006, 10:11
Zitat von Maa83:
Hallo,

ich habe ich Delphi6 eine Dll erstellt. Dieses ist ein Automationsobjekt.
In der Dll steckt zusätzlich (bzw. als Hauptbestandteil) eine Formklasse (TForm). Diese Dll möchte ich nun in VB6 verwenden. D.h. wenn ich in VB auf einen Button drücke soll die Dll initialisiert werden. Danach soll über eine Methode die auch public ist die Formklasse aufgerufen und angezeigt werden. Kann mir irgendjemand helfen wie ich das bewerkstellige?

Ich scheitere bereits an der Initialisierung der Dll.

Set MyVariable = CreateObject("DllName.Klasse")

An diesem Aufruf scheitere ich bereits mit der Fehlermeldung:

"Laufzeitfehler 429: Objekterstellung durch ActiveX-Komponente nicht möglich."


Vielen Dank für eure Mühen
Martin
Sehr spärlich deine Frage nix an code ?
Dann könnte ich vielleicht helfen.

Garantiert kannst du keine Delphi DLL über CreateObject initialisieren.
Das kannst getrost vergessen.
Delphi DLL's können nicht als AktiveX angesprochen werden. Sind nicht kompatibel.

Gruß
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#3

Re: Delphi Dll in VB6 nutzen

  Alt 5. Okt 2006, 10:38
Na egal..

Hier mal das kleinste Beispiel was ich auf die schnelle zurecht geflickt habe.

Delphi
Delphi-Quellcode:
library DWithVB;


uses
  SysUtils,
  Classes,
  Dialogs;

{$R *.RES}

FUNCTION DllTest():Integer;StdCall;
var Hobby: string;
 begin
  Hobby := InputBox('Hallo VBler du befindest dich nun in Delphi','Was ist dein Hobby?','');
  If Length(Hobby) = 0 then
  Begin
    Result := 0;
    Exit;
    End
  Else
   Begin
    Result := 1;
    ShowMessage('Hallo dein Hobby ist ' + Hobby);
   End;
end;

  EXPORTS
  DllTest;
  
begin

end.

Visual Basik
Code:
Private Declare Function DllTest Lib "DWithVB.dll" () As Integer

Private Sub Command1_Click()

Dim TResult As Long
   
    TResult = DllTest
   
End Sub

Private Sub Command2_Click()
   
    Unload Form1
    End
   
End Sub
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#4

Re: Delphi Dll in VB6 nutzen

  Alt 5. Okt 2006, 13:14
Hast du die DLL auf dem Zielrechner mit RegSvr32.exe registriert??
Wenn der Zielrechner dein Entwicklungsrechner ist, dann reicht in der Delphi IDE:
Start -> ActiveX Server eintragen
Andreas
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#5

Re: Delphi Dll in VB6 nutzen

  Alt 5. Okt 2006, 15:54
Zitat von shmia:
Hast du die DLL auf dem Zielrechner mit RegSvr32.exe registriert??
Wenn der Zielrechner dein Entwicklungsrechner ist, dann reicht in der Delphi IDE:
Start -> ActiveX Server eintragen
Ich habe bisher noch keine Delphi.dll als ActiveX in VB einbinden können.
Mußt mir mal zeigen wie das geht

gruß
  Mit Zitat antworten Zitat
Maa83

Registriert seit: 7. Nov 2002
220 Beiträge
 
Delphi 10.3 Rio
 
#6

Re: Delphi Dll in VB6 nutzen

  Alt 6. Okt 2006, 07:18
erst mal Danke für die vielen Antworten

ich habs nun hin bekommen.

Ganz normal mit CreateObject... keine Ahnung wieso das nicht gleich geklappt hat.

Set MyDll = CreateObject("AVDllCom.StartKlasse")

und natürlich unter Projekt-Verweise mit eingebunden.
Martin
  Mit Zitat antworten Zitat
Antwort Antwort


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 02:50 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