[ungelöst] Error reading Form1.Left: Unknown property:"Left"

Für Fragen zur Programmiersprache auf welcher Lazarus aufbaut
Antworten
sierdolg
Beiträge: 66
Registriert: Mi 24. Okt 2012, 15:50

[ungelöst] Error reading Form1.Left: Unknown property:"Left"

Beitrag von sierdolg »

Hallo beisammen,

gerade versuche ich, ein erstes vom PC (Linux) nach Raspberry3 crosskompiliertes Minimal-HalloWelt zum Laufen zu bekommen.
Lazarusversion: 1.7 Rev. 54523M
FPC Version: 3.1.1

Als erstes habe ich mit fpclazupdeluxe: (*) arm (*) linux , [Install cross-compiler] ausgeführt,
dann in den Projektoptionen eingestellt:
[*]TargetOS: Default (da gleiches OS, Debian Jessie an der Quelle bzw. Rasbian 8 am Ziel)
[*]Target CPU family: arm
[*]Target processor:ARMV7
Beim Ausführen von "checking compiler options" erscheinen auch keine ERRORs mehr.


Code: Alles auswählen

unit Unit1;
{$mode objfpc}{$H+}
{$ifdef FPC_CROSSCOMPILING}
  {$ifdef Linux}
    // for most versions of Linux in case of linking errors
    {$linklib libc_nonshared.a}
    {$IFDEF CPUARM}
      // for GUI on RPi[1,2,3] with Arch Linux in case of linking errors
      // {$linklib GLESv2}
    {$ENDIF}
  {$endif}
{$endif}
 
interface
 
uses
  Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,
  Unix, BaseUnix;
 
type
  { TForm1 }
 
  TForm1 = class(TForm)
    Button1: TButton;
    Edit1: TEdit;
    procedure Button1Click(Sender: TObject);
  private
  public
  end;
 
var
  Form1: TForm1;
 
implementation
 
{$R *.lfm}
{ TForm1 }
 
procedure TForm1.Button1Click(Sender: TObject);
begin
  Edit1.Text:='Hallo Welt!';
end;
 
end.   


Das Kompileren funktioniert ebenfalls, heraus kommt ein

Code: Alles auswählen

file rpi_ws281x/project1                                                                                                                            
rpi_ws281x/project1: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-armhf.so.3, for GNU/Linux 2.0.0, not stripped
 


Kopiere ich das auf den Raspberry und starte es (via ssh mit X11-Forwarding; "$ rpi_ws281x/project1 -display ':0.0' "), dann erscheint eine GTK-Fehlermeldung mit einer gänzlich überraschenden Meldung:

Code: Alles auswählen

 
TApplication.HandleException Error reading Form1.Left: Unknown property: "Left"
  Stack trace:
  $000C0284
  $000BF5F0
  $000C0ED4
  $002548E8  INITCOMPONENT,  line 3156 of lresources.pp
  $002546EC  INITLAZRESOURCECOMPONENT,  line 3183 of lresources.pp
  $0024C5E0  INITRESOURCECOMPONENT,  line 804 of lresources.pp
  $00060FE8  TCUSTOMFORM__PROCESSRESOURCE,  line 2090 of ./include/customform.inc
  $00060E94  TCUSTOMFORM__CREATE,  line 2078 of ./include/customform.inc
  $00063DD0  TFORM__CREATE,  line 3166 of ./include/customform.inc
  $0006D830  TAPPLICATION__CREATEFORM,  line 2200 of ./include/application.inc
  $00025960  main,  line 19 of project1.lpr


Beim Suchen fand ich nur eine 11 Jahre alten Bug (http://bugs.freepascal.org/view.php?id=7767), der allerdings, wenn auch ohne Zeitangabe, "fixed" sein will.

Als noch Unerfahrener auf dem Gelände Querfeldeinkompilierens nehme ich eher an, noch etwas übersehen zu haben. Nur was?

Bin für jeden Vorschlag dankbar, da mir inzwischen sowohl die relevanten Suchergebnisse als auch die Ideen ausgegangen sind.
Zuletzt geändert von sierdolg am Mi 26. Apr 2017, 11:20, insgesamt 1-mal geändert.

Socke
Lazarusforum e. V.
Beiträge: 3158
Registriert: Di 22. Jul 2008, 19:27
OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
CPU-Target: 32bit x86 armhf
Wohnort: Köln
Kontaktdaten:

Re: Error reading Form1.Left: Unknown property: "Left"

Beitrag von Socke »

Wie sieht die Situation aus, wenn du das Projekt direkt auf dem Raspberry übersetzt und/oder dort nativ (ohne X11-Forwarding dafür z.B. per VNC) startest?
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein

sierdolg
Beiträge: 66
Registriert: Mi 24. Okt 2012, 15:50

Re: Error reading Form1.Left: Unknown property: "Left"

Beitrag von sierdolg »

Das funktioniert ganz normal und problemlos.

Eben erst habe ich nun auch auf dem Raspberry Lazarus aus den Paketquellen der Distribution installiert - das hat schon ein wenig gedauert.
Gekommen ist Lazarus 1.2.4+dfsg2-1 mit FPC 2-6-4, arm-linux-gtk 2.

Abgesehen von diesem Fehler beim ersten Start

Code: Alles auswählen

The package EditorMacroScript (pascalscript macros) has detected a problem and was deactivated.
The package failed its selftest with the message:
"Failed getstr2 [Exp: "456" / Got: "abc"]"
 

liefen sowohl die IDE, das Kompilieren des Minimalprojekts und das ausgeführte Hallo-Welt-GUI klaglos, alles über X-Forwarding (vnc daher nicht gestetet).

Eine leise Hoffnung dabei war, daß vielleicht noch irgend ein Paket installiert wurde, das vorher noch auf dem Raspberry fehlte. Dem ist leider nicht so - das Crosskompilat beharrt auf seinem eingangs beschriebenen 'Unknown property: "Left"'.

Und am "GTK 2" kann es dann wohl auch nicht liegen, das ist sowohl am PC als auch aus dem Raspberry als LCL-Schnittstelle voreingestellt.

Antworten