Komponenten für Lazarus erstellen ?

Zur Vorstellung von Komponenten und Units für Lazarus
Antworten
pluto
Lazarusforum e. V.
Beiträge: 7178
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Komponenten für Lazarus erstellen ?

Beitrag von pluto »

Hallo,
ich versuche schon seit längeren eine eigene Komponente in die Lazarus IDE einzubauen, Aber es klappt einfach NICHT. und ich weiß nicht warum bzw. das weiß ich schon. Seltsamer weiße meint der Komplier wenn ich das Packt Installiere wo meine Komponente drin ist, das er LibC nicht findet, ich habe jetzt im Internet gesucht, gebe ich den Pfad ein, kommt wieder eine Fehler Meldung und soweiter.

Ich kann mir nicht vorstellen das es SO AUFWENDIG ist eine kleine Komponente in die Lazarus IDE einzubauen was mache ich Falsch ?

Ich erzeuge ein neues Paket(LPK Datei) andere werden in Lazarus so wie ich das Mitbekommen habe keine Komponenten Installiert.

Zum Testen habe ich einfach eine Klasse erstellt, die von TPanel abgeleitet ist und so aussieht:

Code: Alles auswählen

unit testpanel;
 
{$mode objfpc}{$H+}
 
interface
 
uses
  Classes, SysUtils, ExtCtrls,Buttons;
 
type
 
  { TPLPanel }
 
  TPLPanel = class(TPanel)
  private
    button:TButton;
 
  protected
 
  public
    constructor Create(TheOwner: TComponent); override;
    destructor Destroy; override;
  published
 
  end;
 
  procedure Register;
 
implementation
 
{ TPLPanel }
 
constructor TPLPanel.Create(TheOwner: TComponent);
begin
  inherited Create(TheOwner);
  button:=TButton.Create(TheOwner);
  button.Left:=10;
  button.Top:=10;
  button.Caption:='Hallo';
  button.Parent:=self;
end; // TPLPanel.Create
 
destructor TPLPanel.Destroy;
begin
  inherited Destroy;
end; // TPLPanel.Destroy
 
procedure Register;
begin
  RegisterComponents('Pluto',[TPLPanel]);
end;
 
end.


In ersten test geht die Klasse auch, wenn ich sie nicht Versuche in die Lazarus IDE einzubauen.

ALSO: Wie werden jetzt Komponenten wirklich erzeugt, die keine EIGENEN Eigenschaften einführen. Ich möchte gar nicht viel nur ein Panel wo einige Buttons drauf sind.

Hängt mit meiner FMOD Frage zusammen *G* mal sehen, ob ihr erratet was ich JETZT vor hab....

Ich weiß einfach nicht mehr weiter. Es gibt zwar in der Lazarus WIKI(Ich meine ein Eintrag zum Thema*G*) ein Eintrag, aber der hilft mir nur wenig.

Vielen Dank für eure Hilfe(schonmal im Voraus ! :wink: )
MFG
Michael Springwald

pluto
Lazarusforum e. V.
Beiträge: 7178
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Beitrag von pluto »

selbst wenn ich mich 100%ig hier dran halte:
http://wiki.lazarus.freepascal.org/Lazarus_Packages/de
KANN ich die Komponente NICHT installieren. Ermeint dann das er die libc nicht findet. Die ist aber gibt. ich weiß auch wo. Aber wenn ich den Pfad hinzufüge kommt eine andere Fehler Meldung unit sowieso nicht gefunden und das spiel geht dann immer munter weiter.
MFG
Michael Springwald

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

Hast du die LCL als abhängigkeit in deinem package ?
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

pluto
Lazarusforum e. V.
Beiträge: 7178
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Beitrag von pluto »

Ja habe ich: LCL und FCL beides drin.
MFG
Michael Springwald

pluto
Lazarusforum e. V.
Beiträge: 7178
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Beitrag von pluto »

Wenn ich Lazarus mit allen lpk Dateien neu Kompeliere kommt der gleiche Fehler.

Also bis her bin ich noch nicht weiter gekommen. Füge ich das Verzeichnis wo sich die libC drin befindet ein, kommt die gleiche Fehler Meldung mit einer anderen Unit. Andere lpk Dateien kann ich Instlalieren. Aber auch die ASC von Christian Scheitern...
Naja dann muss ich wohl erstmal wieder von diesem Vorhaben ablassen. Bis ich das Problem behoben habe. Ich habe bei mir auch mehrer FPC Verzeichnisse gefunden.
aber in Lazarus ist das hier angeben:
/usr/share/fpcsrc
bei allen anderen mackert Lazarus das sie nicht richtig aussehen.

Ich komme einfach nicht weiter. Das Vorhaben an sich ist einfach. Aber leider scheitere ich schon daran ein Packt zu Installieren. Die Komponente an sich ist "nur" vom Panel abgeleitet und besitzt auch nur einen Button. Zum Testen. Später möchte ich die dann noch ausbauen.

Ich könnte auch erstmal weiter machen. Aber ich hätte schon gerne die Komponente in der IDE mit drin.
MFG
Michael Springwald

pluto
Lazarusforum e. V.
Beiträge: 7178
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Beitrag von pluto »

Das Problem konnte ich lösen, ich weiß nur nicht genau wie. Aber jetzt kann ih meine eigene Komponenten für Lazarus schreiben. Ist kein Symbol vorhanden wird ein Standard Symbol genommen.
MFG
Michael Springwald

Antworten