AGB  ·  Datenschutz  ·  Impressum  







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

DLL Form in TTabSheet integrieren

Ein Thema von napsterxx · begonnen am 31. Okt 2007 · letzter Beitrag vom 31. Okt 2007
Antwort Antwort
napsterxx

Registriert seit: 18. Mär 2007
Ort: Borland
556 Beiträge
 
Delphi 7 Enterprise
 
#1

DLL Form in TTabSheet integrieren

  Alt 31. Okt 2007, 11:44
Morgen,
folgendes Problem habe ich gerade:
ICh habe ein TPageControl, und darin habe ich ein neuen Tab erstellt (TTabSheet);

Nun habe ich eine "My Profil" Option (TButton).
Klickt man darauf wird die Form der DLL "Profil.dll" geladen und gezeigt.
So weit so gut, blos anstatt diese DLL Form "frei" zu zeigen, möchte ich diese in den TTabSheet "integrieren".

Jemand eine Idee, oder geht das gar nicht?

mfg NapsterxX
Du derefernzierst p2 einmal und weißt die Adresse von i zu. Das heißt p2 (also der Zeiger auf einen Zeiger) zeigt auf den Zeiger p1 welchen du so auf i zeigen lässt.
  Mit Zitat antworten Zitat
Benutzerbild von Deep-Sea
Deep-Sea

Registriert seit: 17. Jan 2007
907 Beiträge
 
Delphi XE2 Professional
 
#2

Re: DLL Form in TTabSheet integrieren

  Alt 31. Okt 2007, 11:48
Guck dir mar die Eigenschaft Parent an
PS: Forms sind nicht dafür gedacht einen Parent zu haben, was ggf. zu Problemen führt...
Chris
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: DLL Form in TTabSheet integrieren

  Alt 31. Okt 2007, 11:49
Du musst den Parent der Form/Frame in der Dll auf den TabSheet setzen.
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von RavenIV
RavenIV

Registriert seit: 12. Jan 2005
Ort: Waldshut-Tiengen
2.875 Beiträge
 
Delphi 2007 Enterprise
 
#4

Re: DLL Form in TTabSheet integrieren

  Alt 31. Okt 2007, 12:04
Mahlzeit.

Da es sich bei der Form aus der DLL vermutlich um ein TForm handelt, wird dies nicht gehen.
Ein TForm stellt ein Fenster mit allen dazugehörenden Elementen (Rahmen, Titelleiste, Buttons, usw.) dar.
Wie soll dieses Fenster in einen TTabSheet dargestellt werden?

Bau das TForm zu einen TFrame um, dann kannst Du es in einem anderen Fenster oder Control einbinden.
Aber Vorsicht:
Ein TFrame hat z.B. keinen OnCreate oder OnShow oder OnClose.
Klaus E.
Linux - das längste Text-Adventure aller Zeiten...
Wer nie Linux mit dem vi konfiguriert hat, der hat am Leben vorbei geklickt.
  Mit Zitat antworten Zitat
napsterxx

Registriert seit: 18. Mär 2007
Ort: Borland
556 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: DLL Form in TTabSheet integrieren

  Alt 31. Okt 2007, 12:04
Also ich rufe die DLL Form auf und dann muss ich der DLL noch über eine weitere Form ihren Parrent mitteilen?

Bis jetzt ruf ich die Form so auf:
DLL:
Code:
uses
  SysUtils,
  Classes,
  Windows,
  Forms,
  Controls,
  ExtCtrls,
  Unit2 in 'Unit2.pas' {Form2};

{$R *.res}

function ShowForm(): Integer; stdcall;
begin
  with TForm2.Create(nil) do
  try
    Result := ShowModal();
  finally
    Free;
  end;
end;

exports
ShowForm;

begin
end.

HauptForm:
Code:
function ShowForm(): Integer; stdcall;
external 'test.dll';


procedure TForm1.Button1Click(Sender: TObject);
begin
ShowForm;
end;
Du derefernzierst p2 einmal und weißt die Adresse von i zu. Das heißt p2 (also der Zeiger auf einen Zeiger) zeigt auf den Zeiger p1 welchen du so auf i zeigen lässt.
  Mit Zitat antworten Zitat
napsterxx

Registriert seit: 18. Mär 2007
Ort: Borland
556 Beiträge
 
Delphi 7 Enterprise
 
#6

Re: DLL Form in TTabSheet integrieren

  Alt 31. Okt 2007, 12:19
kk allen danke^^, aber ich machs nun anders
Du derefernzierst p2 einmal und weißt die Adresse von i zu. Das heißt p2 (also der Zeiger auf einen Zeiger) zeigt auf den Zeiger p1 welchen du so auf i zeigen lässt.
  Mit Zitat antworten Zitat
Benutzerbild von RavenIV
RavenIV

Registriert seit: 12. Jan 2005
Ort: Waldshut-Tiengen
2.875 Beiträge
 
Delphi 2007 Enterprise
 
#7

Re: DLL Form in TTabSheet integrieren

  Alt 31. Okt 2007, 12:21
Zitat von napsterxx:
kk allen danke^^, aber ich machs nun anders
Und wie machst Du es?

Deine Lösung hilft vielleicht anderen weiter, die so ein ähnliches Problem haben...
Klaus E.
Linux - das längste Text-Adventure aller Zeiten...
Wer nie Linux mit dem vi konfiguriert hat, der hat am Leben vorbei geklickt.
  Mit Zitat antworten Zitat
napsterxx

Registriert seit: 18. Mär 2007
Ort: Borland
556 Beiträge
 
Delphi 7 Enterprise
 
#8

Re: DLL Form in TTabSheet integrieren

  Alt 31. Okt 2007, 12:37
Also: Ich mache anstatt ein großes fenster mit dem TPageControl ein kleines schmales wie bei ICQ, mit einem TMainMenu
Dort klickt man auf eine Option und es wird ganz normal die Form der DLL aufgerufen
Du derefernzierst p2 einmal und weißt die Adresse von i zu. Das heißt p2 (also der Zeiger auf einen Zeiger) zeigt auf den Zeiger p1 welchen du so auf i zeigen lässt.
  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 17:33 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