![]() |
Umstieg aus Delphi.
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 |
AW: Umstieg aus Delphi.
Hallo Fritz,
machen wir mal die Delphi-Tags um die Sourcen:
Delphi-Quellcode:
das end; vor var ist falsch. das gehört an die Stelle weiter oben, um die Klassendeklaration des Formulars abzuschließen...
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 |
AW: Umstieg aus Delphi.
Zitat:
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. |
AW: Umstieg aus Delphi.
Zitat:
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? |
AW: Umstieg aus Delphi.
Zitat:
|
AW: Umstieg aus Delphi.
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. |
AW: Umstieg aus Delphi.
Zitat:
Delphi-Quellcode:
außerhalb von
kontakt_
Delphi-Quellcode:
als
TForm1
Delphi-Quellcode:
angesprochen werden muss.
TForm1.kontakt_
Gruß, Sven |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:43 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz