Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi komponente aus package installieren (https://www.delphipraxis.net/94454-komponente-aus-package-installieren.html)

dajuhsa 21. Jun 2007 16:11


komponente aus package installieren
 
Hab schon gesucht aber die antworten haben bei mir wohl nix genutzt.

ich wollte für ein game eine komponente in die Komponenten Palette kriegen oder irgendwie anders in anderen anwendungen verwenden können.

hab mir eine VCL-Application gemacht, ein Image draufgeworfen.
Eine neue Klasse gemacht, abgeleitet von TImage ein Paar neue Variablentypen erfunden, in meine Klasse ein paar private-Felder und ein paar published-properties und eine prozedur, gespeichert.
neues package hinzugefügt und die Unit mit meiner Klasse drin in das package.
gespeichert
projekt|optionen...|Packages|Compile with runtime packages nen Haken rein und in das editfeld geschrieben: "vcl;rtl;MyPackage", auf OK geklickt, package compilliert.
Projekt geschlossen.

hoffe bis jetz is alles richtig...

und wie installiere ich das dann so, dass ich meine klasse verwenden kann?

Sorry, dass das hier ne wiederholung is aba wie gesagt... :oops: :? :(

mkinzler 21. Jun 2007 16:12

Re: komponente aus package installieren
 
besitzt die Unit ne Register-Prozedur?
Verwende Installieren statt Compilieren.

dajuhsa 21. Jun 2007 16:14

Re: komponente aus package installieren
 
register methode?

auf irgend einer seite hieß es ich muss erst kompillieren und dann installieren :pale:

Sidorion 21. Jun 2007 16:17

Re: komponente aus package installieren
 
In der Registerprozedur gibst Du an, welche Komponenten auf welchem Reiter integriert werden sollen.
Such mal in der OH nach 'RegisterComponent' und klick dann den ersten Beitrag (beispiel).

dajuhsa 21. Jun 2007 16:19

Re: komponente aus package installieren
 
ok ich versuch mal n bisschen :roll:

_frank_ 21. Jun 2007 16:28

Re: komponente aus package installieren
 
wenn du die register-Procedure drin hast, kannst du deine Quellcode-Datei einfach in delphi unter Komponente=>"Komponente installieren" zu dem Standard-package hinzufügen und dieses kompilieren (installiert ist es normal schon, die Installation wird dann erneuert).

HTH Frank

dajuhsa 21. Jun 2007 16:51

Re: komponente aus package installieren
 
hab was gefunden. Soll ich jetzt im interface schreiben

Delphi-Quellcode:
register procedure installieren;
und im implemantation teil

Delphi-Quellcode:
procedure TMyClass.installieren;
var arr: array[0..6] of TComponentClass;
begin
  arr[0] := TVariablentyp1;
  arr[1] := TVariablentyp2;
  arr[2] := TVariablentyp3;
  arr[3] := TVariablentyp4;
  arr[4] := TVariablentyp5;
  arr[5] := TVariablentyp6;
  arr[6] := TMyClass;
  RegisterComponent(Additional, arr);
end;
oder wie? :gruebel:

danke _frank_

_frank_ 21. Jun 2007 16:59

Re: komponente aus package installieren
 
du jhast dir das Beispiel aus der Hilfe nicht angeschaut, oder??

Delphi-Quellcode:
procedure Register;
begin
  RegisterComponents('Beispiel', [TNewControl]);
end;
mehr brauchste imho nicht...

Gruß Frank

DeddyH 21. Jun 2007 17:03

Re: komponente aus package installieren
 
Im interface-Teil
Delphi-Quellcode:
procedure Register;
Im implementation-Teil
Delphi-Quellcode:
procedure Register;
begin
  RegisterComponents('DeddyH', [TMeineTolleKompo]);
end;
Wobei der erste Parameter (String) den Reiter auf der Komponentenpalette angibt und der zweite(Array) die Namen der zu installierenden Komponentenklassen.

dajuhsa 21. Jun 2007 17:13

Re: komponente aus package installieren
 
ja, das beispiel hab ich mir wirklich nich angeschaut :oops:

das der string den reiter bestimmt weiß ich ja ich hab im code halt die ''-zeichen vergessen

danke für die antwort :thumb:

mal sehn obs klappt,

aber ich wollte das package eigentlich auf nem anderen rechner installieren also die bpl-Datei unter
komponente|package installieren|hinzufügen auswählen, oder?

ähm... das is ne frage, ne.

dajuhsa 21. Jun 2007 18:57

Re: komponente aus package installieren
 
naja egal,
neues problem
meine lebensweisheit lautet: wenn bei mir einmal was nich klappt, klappt es nie...
meine tool palette scheint nicht interessiert zu sein :cry:
helft mir bitte

mkinzler 21. Jun 2007 19:00

Re: komponente aus package installieren
 
Zitat:

Zitat von dajuhsa
naja egal,
neues problem
meine lebensweisheit lautet: wenn bei mir einmal was nich klappt, klappt es nie...
meine tool palette scheint nicht interessiert zu sein :cry:
helft mir bitte

Das müsstest du genauer erläutern.

DeddyH 21. Jun 2007 19:11

Re: komponente aus package installieren
 
Zitat:

Zitat von dajuhsa
meine lebensweisheit lautet: wenn bei mir einmal was nich klappt, klappt es nie...

Wie bist Du denn drauf? Wenn ich jedes Mal, wenn etwas nicht auf Anhieb funktioniert, aufgeben würde, würde ich nicht programmieren ;)

dajuhsa 21. Jun 2007 19:19

Re: komponente aus package installieren
 
das problem ist das in der palette nix erscheint.

wie ich drauf bin? naja bei mir is das so, dass wenn irgendwas öfters nicht klappt, klappt es bei mir meistens nicht mehr egal wie oft ich es versuche, das ist aber meistens im "realen" Leben

mkinzler 21. Jun 2007 19:20

Re: komponente aus package installieren
 
Zeig mal die Register-Prozedur.
hast du nun Installieren ausgewählt?

dajuhsa 21. Jun 2007 19:27

Re: komponente aus package installieren
 
Liste der Anhänge anzeigen (Anzahl: 1)
das is ne komponente die ich für ein kleines rpg mache, deshalb monster

Delphi-Quellcode:
procedure TMonster.Register;
begin
  RegisterComponents('Additional', [TMonster]);
end;
ja installieren hab ich mehrmals ausgewählt, aber auch kompillieren ich häng mal bisschen was dran.

mkinzler 21. Jun 2007 19:29

Re: komponente aus package installieren
 
procedure TMonster.Register;

DeddyH 21. Jun 2007 19:33

Re: komponente aus package installieren
 
Jaja, mit dem Komponentenexperten wär das nicht passiert :mrgreen:

dajuhsa 21. Jun 2007 19:35

Re: komponente aus package installieren
 
hab ich auch schon probiert ging aba auch nich...

mkinzler 21. Jun 2007 19:36

Re: komponente aus package installieren
 
Die Prozedur muß zusätzlich auch im Interface deklariert sein.

dajuhsa 21. Jun 2007 19:40

Re: komponente aus package installieren
 
schon klar guck mal im anhang in der pas datei.

und wenn sie nicht deklariert wäre(im private-teil)würde ich warscheinlich nen fehler kriegen

mkinzler 21. Jun 2007 19:45

Re: komponente aus package installieren
 
Delphi-Quellcode:
type
  TStatus = (normal, lähmung, gift);
  TStamm = (Zlaughta, Vogel, Biest, Reptil, Masse, Böse, NA);
  TEnergie = 0..300;
  TMP = 0..140;
  TMonster = class(TImage)
[s]     procedure Register ;[/s]
    private
      FStatus: TStatus;
 ...
  end;

  procedure Register ;

  ...

dajuhsa 21. Jun 2007 19:49

Re: komponente aus package installieren
 
war der fehler jetzt, dass es im published stehen sollte?

Edit:also die punkte verwirren mich. steht das zweite procedure register noch im interface?

mkinzler 21. Jun 2007 19:50

Re: komponente aus package installieren
 
Nein, außerhalb der Klassendeklaration als freie Prozedur.

dajuhsa 22. Jun 2007 22:09

Re: komponente aus package installieren
 
Vilen Dank, es klappt jetzt alles gut

:-D :thumb:

noch eine zwei fragen: wie kann ich mehrere Klassen aufnehmen (ich hab [TMonster, TStamm, TMP...] versucht aber ging nicht) und kann ich die icons der Klassen ändern? da ich von timage abgeleitet habe, kommt das image-icon

aber sonst bin ich sehr dankbar :zwinker:

mkinzler 22. Jun 2007 22:15

Re: komponente aus package installieren
 
Zitat:

Zitat von dajuhsa
wie kann ich mehrere Klassen aufnehmen (ich hab [TMonster, TStamm, TMP...] versucht aber ging nicht)

Pro Komponente ein RegisterComponents()-Aufruf.

Zitat:

und kann ich die icons der Klassen ändern?
Erzeuge eine Ressource (dcr) mit dem Icon unter dem selben Namen wie die Komponente

dajuhsa 22. Jun 2007 22:17

Re: komponente aus package installieren
 
okay, danke euch allen, m-kay!:mrgreen:


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:13 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz