AGB  ·  Datenschutz  ·  Impressum  







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

dll mit Fenster

Ein Thema von paperboy · begonnen am 27. Okt 2009 · letzter Beitrag vom 27. Okt 2009
Antwort Antwort
Seite 1 von 2  1 2      
paperboy

Registriert seit: 10. Jun 2009
71 Beiträge
 
RAD-Studio 2009 Arc
 
#1

dll mit Fenster

  Alt 27. Okt 2009, 20:52
hallo zusammen,

ich wollte eine dll programmieren die ein fenster anzeigt...
hier der code der dll:

Delphi-Quellcode:
library Project5;

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Unit3 in 'Unit3.pas{Form3};

{$R *.res}

procedure start;
begin
  Unit3.Form3.Show;
end;

exports start;

begin
end.
hier der code der exe die die dll benutzen soll:
Delphi-Quellcode:
unit Unit2;

interface

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

type
  TForm2 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form2: TForm2;

const
  DLLNAME = 'project5.dll';

procedure start; external DLLNAME;

implementation

{$R *.dfm}

procedure TForm2.Button1Click(Sender: TObject);
begin
start;
end;

end.
ich bekomme jedoch eine zugriffsverletzung wenn ich nun über den button das fenster anzeigen lassen will...
wenn ich in der funktion der dll z.b. ein simples ShowMessage('Hallo') nehme dann zeigt er mir die Messagebox auch an...
was mache ich falsch?

lg paperboy
  Mit Zitat antworten Zitat
Benutzerbild von wicht
wicht

Registriert seit: 15. Jan 2006
Ort: Das schöne Enger nahe Bielefeld
809 Beiträge
 
Delphi XE Professional
 
#2

Re: dll mit Fenster

  Alt 27. Okt 2009, 21:13
Hast du Form3 in Unit3 auch irgendwie mittels Create vorher erstellt? In einem VCL-Projekt wird der Code dazu ja automatisch generiert, in einer DLL so nicht...
http://streamwriter.org

"I make hits. Not the public. I tell the DJ’s what to play. Understand?"
  Mit Zitat antworten Zitat
paperboy

Registriert seit: 10. Jun 2009
71 Beiträge
 
RAD-Studio 2009 Arc
 
#3

Re: dll mit Fenster

  Alt 27. Okt 2009, 21:21
oh das wusste ich nicht... danke dir..
mit Form3:= TForm3.Create(nil) vor dem Form3.Show hats jetzt geklappt...

lg paperboy
  Mit Zitat antworten Zitat
paperboy

Registriert seit: 10. Jun 2009
71 Beiträge
 
RAD-Studio 2009 Arc
 
#4

Re: dll mit Fenster

  Alt 27. Okt 2009, 21:59
gibt es auch eine möglichkeit ein fenster aus dem hauptprogramm durch code aus der dll anzeigen zu lassen?

tschuldigung für den doppelpost... wollte eigentlich auf edit klicken!
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.197 Beiträge
 
Delphi 10.4 Sydney
 
#5

Re: dll mit Fenster

  Alt 27. Okt 2009, 22:07
Ja, indem du eine Callbackschnittstelle definierst.
Du hast eine Prozedur im Hauptprogramm und übergiebst die Adresse dieser Prozedur an die DLL. Diese Ruft die dann bei Bedarf auf.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
paperboy

Registriert seit: 10. Jun 2009
71 Beiträge
 
RAD-Studio 2009 Arc
 
#6

Re: dll mit Fenster

  Alt 27. Okt 2009, 22:28
könntest du dazu vllt ein kleines beispiel nennen? wäre dir sehr dankbar... hab grad mal gegoogelt aber die was ich dort gefunden hab ist doch sehr verwirrent..
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: dll mit Fenster

  Alt 27. Okt 2009, 22:32
Erzeuge eine Prozedur/Funktion in der Dll, welche das Fenster Erzeugt, eine sie das Fenster anzeigt, eine die es ausblendet, eine die es zerstört usw. Diese kannst du dann exportieren
Markus Kinzler
  Mit Zitat antworten Zitat
paperboy

Registriert seit: 10. Jun 2009
71 Beiträge
 
RAD-Studio 2009 Arc
 
#8

Re: dll mit Fenster

  Alt 27. Okt 2009, 22:40
das problem ist das ich nicht weis wie... ich kann ja schlecht in der dll Form1.Create Form1.Show etc.. benutzen wenn form1 aus meinem hauptprogramm kommt...
wenn dies für einen neuling eine übertriebene aufgabe ist bitte nicht scheuen mir das klipp und klar zu sagen... ich bin am lernen und hatte gedacht das dies vllt
nicht unbedingt zu schwer wäre...
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#9

Re: dll mit Fenster

  Alt 27. Okt 2009, 22:41
Schaue Dir mal diese kleine Beispiel an. Damit solltest Du etwas anfangen können.
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
paperboy

Registriert seit: 10. Jun 2009
71 Beiträge
 
RAD-Studio 2009 Arc
 
#10

Re: dll mit Fenster

  Alt 27. Okt 2009, 22:54
aber wenn ich das richtig verstehe wird die funktion ja im hauptprogramm aufgerufen?!
ich möchte nachdem ich ein fenster aus der dll durch einen button auf der hauptform angezeigt habe nun durch einen knopfdruck auf dem dll-fenster
wieder das hauptfenster angezeigt bekommen... falls diese funktion in dem beispiel genau das tut entschuldige ich mich und knie mich nochmla rein..
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 01:10 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