![]() |
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: :? :( |
Re: komponente aus package installieren
besitzt die Unit ne Register-Prozedur?
Verwende Installieren statt Compilieren. |
Re: komponente aus package installieren
register methode?
auf irgend einer seite hieß es ich muss erst kompillieren und dann installieren :pale: |
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). |
Re: komponente aus package installieren
ok ich versuch mal n bisschen :roll:
|
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 |
Re: komponente aus package installieren
hab was gefunden. Soll ich jetzt im interface schreiben
Delphi-Quellcode:
und im implemantation teil
register procedure installieren;
Delphi-Quellcode:
oder wie? :gruebel:
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; danke _frank_ |
Re: komponente aus package installieren
du jhast dir das Beispiel aus der Hilfe nicht angeschaut, oder??
Delphi-Quellcode:
mehr brauchste imho nicht...
procedure Register;
begin RegisterComponents('Beispiel', [TNewControl]); end; Gruß Frank |
Re: komponente aus package installieren
Im interface-Teil
Delphi-Quellcode:
Im implementation-Teil
procedure Register;
Delphi-Quellcode:
Wobei der erste Parameter (String) den Reiter auf der Komponentenpalette angibt und der zweite(Array) die Namen der zu installierenden Komponentenklassen.
procedure Register;
begin RegisterComponents('DeddyH', [TMeineTolleKompo]); end; |
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. |
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 |
Re: komponente aus package installieren
Zitat:
|
Re: komponente aus package installieren
Zitat:
|
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 |
Re: komponente aus package installieren
Zeig mal die Register-Prozedur.
hast du nun Installieren ausgewählt? |
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:
ja installieren hab ich mehrmals ausgewählt, aber auch kompillieren ich häng mal bisschen was dran.
procedure TMonster.Register;
begin RegisterComponents('Additional', [TMonster]); end; |
Re: komponente aus package installieren
procedure TMonster.Register;
|
Re: komponente aus package installieren
Jaja, mit dem Komponentenexperten wär das nicht passiert :mrgreen:
|
Re: komponente aus package installieren
hab ich auch schon probiert ging aba auch nich...
|
Re: komponente aus package installieren
Die Prozedur muß zusätzlich auch im Interface deklariert sein.
|
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 |
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 ; ... |
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? |
Re: komponente aus package installieren
Nein, außerhalb der Klassendeklaration als freie Prozedur.
|
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: |
Re: komponente aus package installieren
Zitat:
Zitat:
|
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