AGB  ·  Datenschutz  ·  Impressum  







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

DLL und Create

Ein Thema von EWeiss · begonnen am 11. Feb 2007 · letzter Beitrag vom 13. Feb 2007
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#11

Re: DLL und Create

  Alt 12. Feb 2007, 08:43
Ich habe nur die Klasse TFuileStream als Beispiel benutzt, um dir zu zeigen, wie man mit Klassen arbeitet und entsprechenden Objekte erzeugt. Das geht natürlich entsprechend mit deiner TBass-Dingsbums Klasse.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#12

Re: DLL und Create

  Alt 12. Feb 2007, 14:20
Zitat von Luckie:
Ich habe nur die Klasse TFuileStream als Beispiel benutzt, um dir zu zeigen, wie man mit Klassen arbeitet und entsprechenden Objekte erzeugt. Das geht natürlich entsprechend mit deiner TBass-Dingsbums Klasse.
Ok hab jetzt verstanden was du meinst.
Habe mich schon gefragt wo der zusammenhang sein soll.

gruss
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#13

Re: DLL und Create

  Alt 13. Feb 2007, 17:31
Das initialisieren und die ausführung aus der Echse funktionieren jetzt.
Allerdings fehlt mir ein Handle was ich nicht so einfach übergeben kann.

zwei fragen..
1. TBASSVis.Create(AOwner: TComponent);

Initialisieren tue ich es über die funktion von außen.

Delphi-Quellcode:
function BASS_WINAMPVIS_INIT: boolean; stdcall;

begin
   try
     BassVisMain1 := TBassVis.Create(nil);
   finally
     BassVisMain1.Free
   end;

   result := True;
end;
BassVisMain1 : TBASSVis; Eigentlich müßte ja TBassVis.Create(nil); = TBassVis.Create(self); sein
Geht aber nur wenn das Projekt als Echse ausgelegt ist.
was ist Self ? kann ich da nicht das Handle der ausführenden anwendung übergeben?

2.Das gleiche hier!
Wie komme ich an das Handle aus der Fremdanwendung und was ist das für eins?
(AOwner as TWinControl).Handle;
Scheint das Handle des Controls sein welches die Aktion ausführt beispiel das vom Start Button oder?

gruss Emil
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#14

Re: DLL und Create

  Alt 13. Feb 2007, 19:56
Hallo Emil,

mit Self erhältst du innerhalb einer Methode eines Objektes eine Referenz auf die Objektinstanz. Das ist manchmal ganz schön um Namenskonflikte aufzulösen oder um bei der Erzeugung von child components sich selbst als Owner übergeben zu können. Self ist genau der gleiche Wert den du erhältst, wenn du das Ergebnis eines Konstruktors an eine Variable zuweist. Über die Variable kannst du von außen auf das Objekt zugreifen, über Self von innen.

Freundliche Grüße
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#15

Re: DLL und Create

  Alt 13. Feb 2007, 20:18
Zitat von marabu:
Hallo Emil,

mit Self erhältst du innerhalb einer Methode eines Objektes eine Referenz auf die Objektinstanz. Das ist manchmal ganz schön um Namenskonflikte aufzulösen oder um bei der Erzeugung von child components sich selbst als Owner übergeben zu können. Self ist genau der gleiche Wert den du erhältst, wenn du das Ergebnis eines Konstruktors an eine Variable zuweist. Über die Variable kannst du von außen auf das Objekt zugreifen, über Self von innen.

Freundliche Grüße
Mein Problem ist ganz einfach erklärt.
Du kennst das ja.

Habe jetzt aus BassVis eine EXE erstellt.
Alles aber auch alles funktioniert einwandfrei.

OpenGL Plugins usw...
Jetzt muss ich das teil wieder in die DLL einbauen und schon gibts probleme weil
sich da keine Form befindet.
Und die funktionen von außerhalb aufgerufen werden müssen.

Kann ja keine komplette classe/Object an die DLL übergeben.
Bekomme langsam die Krise...

Gruss Emil
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#16

Re: DLL und Create

  Alt 13. Feb 2007, 22:39
Delphi-Quellcode:
unit Unit1;

interface

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

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

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
  Self.Caption := 'Kuckuck';
end;
Self ist hier das TForm Objekt, also Form1. Meist lässt man es aber weg, es sei denn man will deutlich machen, dass man mit einer Objekt-Instanz des Objektes selber arbeitet.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#17

Re: DLL und Create

  Alt 13. Feb 2007, 22:56
Zitat von Luckie:
Delphi-Quellcode:
unit Unit1;

interface

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

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

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
  Self.Caption := 'Kuckuck';
end;
Self ist hier das TForm Objekt, also Form1. Meist lässt man es aber weg, es sei denn man will deutlich machen, dass man mit einer Objekt-Instanz des Objektes selber arbeitet.
Ahhh jo das hat mir geholfen.
Is quasi das gleiche wie in VB 'Me'
me.caption = "Mein Window-Caption Name"

Jup jetzt klappt das ganze schon besser.
Danke für die ausführliche beschreibung ..

Gruss Emil
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#18

Re: DLL und Create

  Alt 13. Feb 2007, 23:04
In VB heißt das me? Nein, ist das süß.

PS: Der Vollständigkeithalber, in C++ heißt es this.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#19

Re: DLL und Create

  Alt 13. Feb 2007, 23:22
Zitat von Luckie:
In VB heißt das me? Nein, ist das süß.

PS: Der Vollständigkeithalber, in C++ heißt es this.
Naja ab und zu kann auch etwas in VB süss sein

gruss
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 12:13 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