Kann LCLIntf nicht finden

Rund um die LCL und andere Komponenten

Re: Kann LCLIntf nicht finden

Beitragvon wp_xyz » 19. Mär 2017, 11:45 Re: Kann LCLIntf nicht finden

Nein, das ist ok, es sagt nur, wie die betreffende Unit kompiliert werden soll.

Kannst du nochmals die aktuellen Sourcen hochladen? Und: Welche Lazarus-Version/fpc-Version hast du?
wp_xyz
 
Beiträge: 2670
Registriert: 8. Apr 2011, 08:01

Beitragvon USchoch » 19. Mär 2017, 16:52 Re: Kann LCLIntf nicht finden

Salü

Ich habe Lazarus 1.6.4 und fpc 3.0.2

Hier nochmals die Sourcen

Bin gespannt was los ist und Gruss
Uli
MeineKomponenten2.zip
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
USchoch
 
Beiträge: 15
Registriert: 16. Mär 2017, 14:01

Beitragvon wp_xyz » 19. Mär 2017, 17:29 Re: Kann LCLIntf nicht finden

FloatEdit.pas hat gefehlt, ich habe es aus der ersten Version rüberkopiert. Dann das Package neu "Kompilieren", dann "Nutzung" / "Installieren" (ich mache das immer in zwei Schritten, vielleicht geht's auch nur mit Installieren) --> Die Komponenten sind da. Getestet mit Laz Trunk und auch mit 1.6.4. Sind aber nicht am Ende der Komponenten-Palette, sondern mitten drin - vielleicht ist das das Problem. Wenn du sie gefunden hast, kannst du die Reihenfolge ändern mit Rechtsklick auf der Komponenten-Palette--> "Einstellungen" --> "Komponentenpalette anzeigen"

Wenn du die Icons ins .res-Dateien einbindest, kannst du auf den eigenen initialization-Abschnitt verzichten und das {$R direkt hinter "implementation" schreiben. Um die Registrierung mehrer Komponenten kann man auch in denselben Aufruf schreiben. Hier als Beispiel aus TLine.pas:
Code: Alles auswählen
procedure Register;
 
implementation
 
{$R TXLinie.res }
{$R TDreieck.res }
{$R TSchalter.res }
{$R TUmschalter.res }
 
procedure Register;
begin
  RegisterComponents('Beispiele', [TXLinie, TDreieck, TSchalter, TUmschalter]);
  { statt:
  RegisterComponents('Beispiele', [TXLinie]);
  RegisterComponents('Beispiele', [TDreieck]);
  RegisterComponents('Beispiele', [TSchalter]);
  RegisterComponents('Beispiele', [TUmschalter]);
  }

end;   

Dass in RegisterCompoents jeweils explizit 'Beispiele' steht, halte ich für ungeschickt: Wenn du die Komponenten einmal anderswo unterbringen willst, musst du diverse Units öffnen und den String ändern. Besser: eine Deklarationsunit schreiben, in der alle von den einzelnen Komponenten benötigten allgemeinen Deklarationen (Typen, Konstanten etc) stehen, darunter auch
Code: Alles auswählen
const
  PalettenName = 'Beispiele'; [/const]
und obiger Code würde damit zu
[code=laz]procedure Register;
 
implementation
 
uses
  mkCommon;   // "Meine Komponenten - gemeinesame Unit"
 
{$R TXLinie.res }
{$R TDreieck.res }
{$R TSchalter.res }
{$R TUmschalter.res }
 
procedure Register;
begin
  RegisterComponents(PalettenName, [TXLinie, TDreieck, TSchalter, TUmschalter]);
end;   
wp_xyz
 
Beiträge: 2670
Registriert: 8. Apr 2011, 08:01

Beitragvon USchoch » 19. Mär 2017, 18:06 Re: Kann LCLIntf nicht finden

Salü

Danke nochmals für deine Ratschläge. Ich habe eigentlich alles so gemacht, alles ging ohne Fehlermeldungen, die Komponenten waren nicht da!!

Aus lauter Verzweiflung habe mal eine Komponente in eine andere Palette registriert. (Die Uhr in die Palette 5dop mit der Serieschnittstelle drin).
Und was sehe ich? Die Uhr ist schön brav in der 5dop-Palette und funktioniert sogar, wenn ich sie in ein Form hole. Warum, wissen die Götter, oder auch diese nicht. Ich habe dann alle Komponenten in 5dop registriert und sie dann von Hand (Rechtsklick Palette, Einstellungen) in die Palette Beispiele gezogen, alles paletti.

Danke für deine immer sehr schnellen und guten Antworten.

Gruss
Uli

[img]D:\Projekte\LazarusProjekte\MeineKomponenten\Komponenten.jpg[/img]
USchoch
 
Beiträge: 15
Registriert: 16. Mär 2017, 14:01

Beitragvon wp_xyz » 19. Mär 2017, 18:51 Re: Kann LCLIntf nicht finden

Vielleicht hast du das Panel schon früher mal erzeugt? Ich weiß, mit dem Paletten-Editor gab es mal Probleme. Versuche mal "Vorgaben wiederherstellen". Oder benenne kurz dein Lazarus-Benutzer-Profil um (steht normalerweise in c:\Users\<benutzername>\AppData\Local\Lazarus oder in dem Order, der in lazarus.cfg (im selben Ordner wie lazarus.exe) genannt ist). Beim nächsten Stert von Lazarus wird ein neues Default-Profil geschrieben. Wenn du nun deine Komponenten neu installierst, sollte sei auf der Seite "Beispiele" erscheinen.
wp_xyz
 
Beiträge: 2670
Registriert: 8. Apr 2011, 08:01

Beitragvon USchoch » 20. Mär 2017, 09:13 Re: Kann LCLIntf nicht finden

Salü
Das mit den Vorgaben wiederherstellen hat auch nicht funktioniert. Ich lass das mal so. Wenn ich mal Lust habe, deinstalliere ich Lazarus und installiere es neu und probiere alles nochmals.

Besten Dank und Gruss
Uli
USchoch
 
Beiträge: 15
Registriert: 16. Mär 2017, 14:01

• Themenende •
Vorherige

Zurück zu Komponenten und Packages



Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast

porpoises-institution
accuracy-worried