[gelöst] altes Lazarusprogramm läuft nicht mehr

Rund um die LCL und andere Komponenten
Antworten
Benutzeravatar
juelin
Beiträge: 310
Registriert: Sa 24. Jul 2021, 18:03
OS, Lazarus, FPC: Linux Ubuntu 22. Windows 10 Delphi 11.3 (L 0.9.xy FPC 2.2.z)
CPU-Target: 64Bit
Wohnort: Mannheim

[gelöst] altes Lazarusprogramm läuft nicht mehr

Beitrag von juelin »

Hallo,
habe mal nach langer Zeit ein altes Programm (flightradar) wieder in der
Lazarus IDE aufgerufen.
Das Programm lief schon mal.
Bekomme jetzt beim Öffnen Projekt die Fehlermeldung (Anhang fehler1).
Wenn ich das Programm compeliere und laufen lasse bekomme ich
Fehlermeldung (Anhang fehler2).
Das ganze passiert in der Komponente mvMapViewer, die ich in Unit1 in Uses eingebunden habe.

Procedure wo der Fehler passiert beim Befehl: raise Exception.Create('MapProvider is not selected.');

Code: Alles auswählen

procedure TMapView.SetActive(AValue: boolean);
begin
  if FActive = AValue then Exit;
  if AValue and (MapProvider = '') then
    // Raising an exception won't let the component to be loaded
    if not (csLoading in ComponentState) then
      raise Exception.Create('MapProvider is not selected.');
  FActive := AValue;
  if FActive then
    ActivateEngine
  else
    Engine.Active := false;
end;
Habe schon geschaut ob alle Packages in stalliert sind, Ja sind sie.
Auch beim Projektinspector sind alle Routinen drin.
Keine Ahnung was man da machen muss.
Kann da jemand helfen?

Danke und Gruß
Jürgen

PS: Habe inzwischen von Lazarus 3.6 auf Lazarus 4.2 upgedatet.
Dateianhänge
fehler2.jpg
fehler2.jpg (41.29 KiB) 946 mal betrachtet
fehler1.jpg
fehler1.jpg (10.62 KiB) 946 mal betrachtet
Zuletzt geändert von juelin am Sa 2. Aug 2025, 18:42, insgesamt 1-mal geändert.

wp_xyz
Beiträge: 5247
Registriert: Fr 8. Apr 2011, 09:01

Re: altes Lazarusprogramm läuft nicht mehr

Beitrag von wp_xyz »

Wahrscheinlich hast du in dem MapViewer keinen "MapProvider" ausgewählt. Das Feld muss besetzt sein, bevor du den Viewer auf "active" schalten kannst. Der Provider legt fest, von wo die Karten geladen werden. Du kannst ihn im Object-Inspector auswählen oder per Code:

Code: Alles auswählen

procedure TForm1.FormCreate(Sender: TObject);
begin
  MapView1.MapProvider := 'OpenStreetMap Standard';
  MapView1.Zoom := 4;
  MapView1.MapCenter.RealPt := RealPoint(49, 12);
  MapView1.Active := true;
end;;

Benutzeravatar
juelin
Beiträge: 310
Registriert: Sa 24. Jul 2021, 18:03
OS, Lazarus, FPC: Linux Ubuntu 22. Windows 10 Delphi 11.3 (L 0.9.xy FPC 2.2.z)
CPU-Target: 64Bit
Wohnort: Mannheim

Re: altes Lazarusprogramm läuft nicht mehr

Beitrag von juelin »

Hallo wp_xyz ,
Ja danke, genau das war es.
Wieso es früher ohne die Einstellungen gelaufen ist weiss ich auch nicht.
Also nochmal Danke.
Gruß
Jürgen

Antworten