Autor Beitrag
DT2158
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 73



BeitragVerfasst: So 23.03.03 14:07 
Also ich möchte ein ein ein tabsheet dynamisch zu laufzeit erzeugen und dieses tabsheet soll auf einem vorgebenen Pagecontrol aus einer dll geladen werden!

So hier mein ansatz wenn ich das tabsheet dynamisch aus dem programm heraus erzeuge

ausblenden Quelltext
1:
2:
3:
4:
TabSheetTest := TTabSheet.Create((FindComponent('PageControlTool') as TPageControl).Name);
TabSheetTest.PageControl := (FindComponent('PageControlTool') as TPageControl).Name;
TabsheetTest.Caption := 'Test';
TabsheetTest.Name := 'TabSheetTool1';



so und das funktionniert auch!
wenn ich das aber in eine dll packe

ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
var
 TabSheetTest: TTabSheet;

{$R *.res}

procedure Test;
begin
TabSheetTest := TTabSheet.Create((FindComponent('PageControlTool') as TPageControl).Name);
TabSheetTest.PageControl := (FindComponent('PageControlTool') as TPageControl).Name;
TabsheetTest.Caption := 'Test';
TabsheetTest.Name := 'TabSheetTool1';
end;

exports Test;

begin
end.

kommt die meldung, dass "findcomponent" ein ungültiger bezeichner wäre, anscheinend kann man diesen nicht in dlls verwenden. Wahrscheinlich muss man hier über Handles auf das pagecontrol zugreifen, leider hab ich davon keine ahnung.

Kann mir da vielleicht jemand weiterhelfen?

Danke
DT2158
AndyB
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1173
Erhaltene Danke: 14


RAD Studio XE2
BeitragVerfasst: So 23.03.03 18:57 
FindComponent ist keine Prozedur, sondern eine Methode und diese gehört zur Klasse TComponent, von der alle Komponenten abgeleitet sind. Du kannst FindComponent somit nicht einfach aufrufen.

_________________
Ist Zeit wirklich Geld?
DT2158 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 73



BeitragVerfasst: So 23.03.03 20:36 
wenn ich den code hätte, (PE), würden doch die Methode auch nur durch Proceduren bzw Funktionen in der Klasse TComponent dargestellt werden!