Position von Control einstellen

Antworten
Benutzeravatar
fliegermichl
Lazarusforum e. V.
Beiträge: 1779
Registriert: Do 9. Jun 2011, 09:42
OS, Lazarus, FPC: Lazarus Fixes FPC Stable
CPU-Target: 32/64Bit
Wohnort: Echzell

Position von Control einstellen

Beitrag von fliegermichl »

Nachdem ich es mit dem LAMW Manager hinbekommen habe, Android Apps mit Lazarus zu erstellen, gelingt es mir nicht, ein Control zur Laufzeit zu bewegen.
Mache ich das in einem normalen Lazarusprogramm, welches ein Panel mit einem Control (sv), ein TEdit (tv) und einen Timer beinhaltet:

Code: Alles auswählen

procedure TForm1.Timer1Timer(Sender: TObject);
begin
  sv.left := sv.left + 5;
  if sv.left + sv.width > Panel1.Width then sv.Left := 0;
  tv.Text := IntToStr(sv.left);
end;
Dann wandert sv nach jedem Timer Event um 5 Pixel nach rechts, bis es am rechten Rand angekommen ist und fängt dann wieder links an.
In dem TEdit (bzw. TTextView bei Android) wird die Position auch angezeigt. Nur eben bewegt sich nichts.

Auch wenn ich zur Laufzeit ein neues Control erzeuge und diesem das Panel als Parent zuweise, erscheint es nicht.

Hat jemand eine Idee dazu?
Dateianhänge
androidtest.zip
(6.68 KiB) 617-mal heruntergeladen

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 7323
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: Position von Control einstellen

Beitrag von af0815 »

fliegermichl hat geschrieben: Sa 31. Jan 2026, 19:17 Hat jemand eine Idee dazu?
Ich habe bei meinen Projekten auf Android festgestellt, das die Positionierung komplett anders als im normalen Lazarus funktioniert. Im Designer geht es manchmal noch, zur Laufzeit oder beim Speichern ist alles nur Schrott. Bei Android greifen komplett andere Eigenschaften. Die Positionierung ist immer zum Parent oder dem vorherigen Objekt - ich habe keine Installation mehr, wo ich das Testen kann.

Was zur Laufzeit erzeugen habe ich vermieden, da ich mit der Positionierung sowieso schon zu tun gehabt habe.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

Benutzeravatar
Maik81SE
Beiträge: 331
Registriert: Fr 30. Sep 2011, 14:07
OS, Lazarus, FPC: Debian 12 (L 3.4 FPC 3.2.2)
CPU-Target: x86-64; avr
Wohnort: Lübeck
Kontaktdaten:

Re: Position von Control einstellen

Beitrag von Maik81SE »

Moin...

Bin ich also nicht der einzige, der da gerade verzweifelt.

Paradoxxerweise meine erste Test-App für mein FF4 läuft ohne Probleme.

Nun will ich mir meinen eigenen Player schreiben und schon verzweifel ich wieder. o.O

Code: Alles auswählen

label.caption:= 'gnublin.no-ip.info'
Debian 12 (L 3.4 FPC 3.2.2);

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 7323
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: Position von Control einstellen

Beitrag von af0815 »

Maik81SE hat geschrieben: Sa 30. Mai 2026, 12:20 Bin ich also nicht der einzige, der da gerade verzweifelt.
Es ist nicht verzweifeln. Es ist ganz einfach eine andere Welt. Über die Bridge, wird von der Lazaruswelt in die Android Welt gemappt. Man sieht es, wenn man tiefer in die ganze Sache einsteigt.

Es sind viele Beispiele dabei, wenn man die tiefer studiert bekommt man eine Ahnung wie was geht. Vor allen muss man sich immer vor Augen halten, das man hier mit einem Alien arbeitet. Weil die Welt von Android ist komplett anders. Und man muss gewahr sein, das sich mit jeder Androidversion sich die Spielregeln ändern. Und freien Zugriff auf Dateien kannst du dir einmal abschminken. Das zu musst du über Android Funktionen einmal anfragen, den Benutzer auswählen lassen und dann hast du über eine Art Token Zugriff, das musst du dir merken und später auch noch vorweisen, sonst geht der ganze Zirkus von vorne los.

Ich kann dich aber beruhigen, wenn du UWP Apps für Windows schreiben willst (geht mit Lazarus/FPC gar nicht) ist es ähnlich.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

Antworten