AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Umstieg aus Delphi.

Ein Thema von haderlump · begonnen am 22. Jan 2013 · letzter Beitrag vom 22. Jan 2013
Antwort Antwort
haderlump

Registriert seit: 21. Jan 2013
Ort: Ingolstadt
23 Beiträge
 
FreePascal / Lazarus
 
#1

Umstieg aus Delphi.

  Alt 22. Jan 2013, 06:27
Hallo zusammen
Ich bin Lazarusneuling. Ich hatte vor Jahren in Delphi ein Programm zur Steuerung einer Modelleisenbahn geschrieben (Delphi 4)
Ich wollte nun Änderungen vornehmen, und stellte fest, dass mein Delphi nicht mehr läuft. Leider ist meine Instalationsdisc beim Umzug verloren gegangen. Kurzum ich hab kein Delphi mehr.
Nun hab ich mir Lazarus herunter geladen.
Die Konvertierung nach Lazerus scheiterte, an hunderten von Fehlermeldungen. Um Lazarus bzw. FPC kennenzulernen, habe ich begonnen das Programm stufenweide neu aufzubauen. Doch selbst im Anfangsstadium komme ich nicht mehr weiter.

Jetzt mein Problem:

Quelltext:
unit Unit1;

{$mode objfpc}{$H+}

interface

uses
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs;

type
TForm1 = class(TForm)
private
{ private declarations }
public
{ public declarations }
type
kontakt = record
bezeichnung :string [20];
port,
kontakt :byte;
l_adresse,
// r_adresse : kt;
// signal :daten_element;
// next_kontakt :kontakt_;
typ :byte;
messzeit,auszeit,schrittgeschwindigkeit :integer;
wirkrichtung,scharf: boolean {true = links}
end;
kontakt_ = ^kontakt;
end;

var
Form1: TForm1;
kontakt2 : kontakt_;//////////////////////////////

implementation

{$R *.lfm}
begin


end.



Auf die mit ////////////// markierte Zeile bekomme ich die Fehlermeldung: Error: Identifier not found "kontakt_"

Was zum Teufel mache ich falsch, im Konsolenfenster von Pascal geht es.

Noch kurz zum Zweck des Codes:
Es soll eine Datenstruktur aufgebaut werden, in der Die Anlage beschrieben ist, so dass das "Stellwerksprogramm" entsprechend handeln kann.

PS: In Delphi lief das alte Gesamtprogramm fehlerfrei.

Gruß Fritz
Fritz Tremmel
  Mit Zitat antworten Zitat
Lemmy

Registriert seit: 8. Jun 2002
Ort: Berglen
2.380 Beiträge
 
Delphi 10.3 Rio
 
#2

AW: Umstieg aus Delphi.

  Alt 22. Jan 2013, 06:36
Hallo Fritz,

machen wir mal die Delphi-Tags um die Sourcen:

Delphi-Quellcode:
type
  TForm1 = class(TForm)
  private
    { private declarations }
  public
    { public declarations }
     //<--------------------
type
  kontakt = record
    bezeichnung :string [20];
    port,
    kontakt :byte;
    l_adresse,
    // r_adresse : kt;
    // signal :daten_element;
    // next_kontakt :kontakt_;
    typ :byte;
    messzeit,auszeit,schrittgeschwindigkeit :integer;
    wirkrichtung,scharf: boolean {true = links}
  end;
  kontakt_ = ^kontakt;
  
  end; //<--------------------

var
Form1: TForm1;
kontakt2 : kontakt_;//////////////////////////////

implementation
das end; vor var ist falsch. das gehört an die Stelle weiter oben, um die Klassendeklaration des Formulars abzuschließen...
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.586 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Umstieg aus Delphi.

  Alt 22. Jan 2013, 08:42
das end; vor var ist falsch. das gehört an die Stelle weiter oben, um die Klassendeklaration des Formulars abzuschließen...
Das ist dann aber nur in Lazarus falsch, in Delphi ist das so korrekt. Das Feature nennt sich nested types und gibt es in Delphi seit Version 2006.
Hilft vielleicht das Umschalten in dem Lazarusprojekt auf den Delphi-Modus?

Nebenbei sollten Typdeklarationen wie kontakt immer mit einem T beginnen um dies zu erkennen, also TKontakt. Und der Pointer darauf sollte PKontakt heißen. So ist die Namenskonvention.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!

Geändert von jaenicke (22. Jan 2013 um 08:45 Uhr)
  Mit Zitat antworten Zitat
Lemmy

Registriert seit: 8. Jun 2002
Ort: Berglen
2.380 Beiträge
 
Delphi 10.3 Rio
 
#4

AW: Umstieg aus Delphi.

  Alt 22. Jan 2013, 08:46
das end; vor var ist falsch. das gehört an die Stelle weiter oben, um die Klassendeklaration des Formulars abzuschließen...
Das ist dann aber nur in Lazarus falsch, in Delphi ist das so korrekt. Das Feature nennt sich nested types und gibt es in Delphi seit Version 2006.
Hilft vielleicht das Umschalten in dem Lazarusprojekt auf den Delphi-Modus?
ah stimmt.. da war mal was... ist halt so, wenn man immer noch bei Delphi 7 fest hängt

Aber dann eine Frage an dich: Wenn das ein nestet Type sein soll, dann ist die Deklaration von kontakt2 aber falsch bzw. die Fehlermeldung korrekt - denn als nestet Type sollte der dann an der Stelle doch nicht bekannt sein oder?
  Mit Zitat antworten Zitat
sahimba

Registriert seit: 14. Nov 2011
Ort: Berlin, Hauptstadt der DDR
137 Beiträge
 
Delphi 10 Seattle Professional
 
#5

AW: Umstieg aus Delphi.

  Alt 22. Jan 2013, 08:47
Das Feature nennt sich nested types und gibt es in Delphi seit Version 2006.
Er schreibt aber auch, dass seine alte Applikation Delphi 4 basierend ist. Und es hat nicht den Anschein, als wolle er solche (nicht mehr ganz so) neuartigen Features verwenden. Von daher ist der Einwurf sicher berechtigt, dürfte aber in der Folge zu gänzlich neuen Problemen (Scope etc.) beim Ersteller führen.
  Mit Zitat antworten Zitat
haderlump

Registriert seit: 21. Jan 2013
Ort: Ingolstadt
23 Beiträge
 
FreePascal / Lazarus
 
#6

AW: Umstieg aus Delphi.

  Alt 22. Jan 2013, 09:55
Hallo Lemmy
Super, danke, jetzt geht es.
Na das kommt halt davon, wenn man was macht, von dem man nicht allzuviel versteht.
Na ja, irgendwann werd ich vielleicht auch einen einigermaßenen Durchblick bekommen.

Ich hab jetzt mal angefangen, das alte Programm in kleinen Portionen in das neue Projekt zu imoprtieren, und ich muss sgaen es ist fast unheimlich, wie geschmeidig das jetzt geht.

Sahimba und Jaenike.
Danke auch euch für die Hilfe, und Komentare.

Ich werde mich mental ganz von Delphi verabschieden. Lazarus wird mich wahrscheinlich überdauern, (ich bin schon fast 60 Jahre alt) bei Delphi bin ich mir da nicht so sicher.
Im Professionalen Bereich geht doch alles mehr auf C++ hin, und wenn mit Delphi nicht mehr so viel Geld verdient werden kann, könnte es sein, das es irgendwann einmal eingestampft wird. Oder es braucht ja blos die Firma pleite machen.
Fritz Tremmel
  Mit Zitat antworten Zitat
Benutzerbild von JamesTKirk
JamesTKirk

Registriert seit: 9. Sep 2004
Ort: München
604 Beiträge
 
FreePascal / Lazarus
 
#7

AW: Umstieg aus Delphi.

  Alt 22. Jan 2013, 10:00
das end; vor var ist falsch. das gehört an die Stelle weiter oben, um die Klassendeklaration des Formulars abzuschließen...
Das ist dann aber nur in Lazarus falsch, in Delphi ist das so korrekt. Das Feature nennt sich nested types und gibt es in Delphi seit Version 2006.
Free Pascal unterstützt seit 2.4.2 ebenfalls nested types. Der Code Auszug von haderlump würde auch in einem aktuellen Delphi nicht kompilieren, da der Typ kontakt_ außerhalb von TForm1 als TForm1.kontakt_ angesprochen werden muss.

Gruß,
Sven
Sven
[Free Pascal Compiler Entwickler]
this post is printed on 100% recycled electrons
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:04 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz