Unit Classes

Für Fragen von Einsteigern und Programmieranfängern...
Antworten
LazInteressent
Beiträge: 5
Registriert: Fr 4. Sep 2009, 14:13

Unit Classes

Beitrag von LazInteressent »

Hallo!

Nachdem ich nunmehr sämtliche Units von Delphi zu Lazarus konvertiert habe, ist momentan kein Compilieren des Projekts möglich, da die Classes-Unit dermaßen viele Fehler verursacht, dass ich an und für sich gleich die Datei löschen könnte. Das allerdings wird wohl aber auch wieder nicht richtig sein.

Nachdem ich bisher auch hier im Forum und an diversen anderen Stelle keinen Hinweis auf eine mögliche Problemlösung erhalten habe, erhoffe ich mir hier Hilfe.

Vielen Dank bereits jetzt schon einmal.

Benutzeravatar
theo
Beiträge: 10497
Registriert: Mo 11. Sep 2006, 19:01

Re: Unit Classes

Beitrag von theo »

Und was ist deine Frage?

Generell ist das portieren von komplexeren Delphi Anwendungen nichts für Anfänger.
Da muss man die Unterschiede schon gut kennen, sonst bleibt nur Enttäuschung.

LazInteressent
Beiträge: 5
Registriert: Fr 4. Sep 2009, 14:13

Re: Unit Classes

Beitrag von LazInteressent »

Oh, Entschuldigung,
meine Frage lautet: Wie kann ich das Projekt kompilieren, ohne dass die Classes-Unit offensichtlich ein einziger Fehler ist? Gibt es da irgendwelche Einstellungen, die ich vor dem Kompilieren noch hätte vornehmen müssen? Wie bereis geschrieben, habe ich sämtliche Units laden und in das Projekt aufnehmen können...nur beim Kompilieren eben kommt es zu den Problemen. Problemen derart, dass mir fast jede Zeile als Fehler angezeigt wird.

Fehler z. B. der folgenden Art:
Inhalt der Zeile, die den Fehler hervorruft: public
Classes.pas(793,3) Fatal: Anonymous class definitions are not allowed oder als weiteres Beispiel:

constructor Create(Stream: TStream; BufSize: Integer); mit der Fehlermeldung
Classes.pas(794,5) Fatal: Anonymous class definitions are not allowed

Da ich nicht glaube, dass Lazarus keine 'constructor(en)' und 'destructor(en)' kennt, gehe ich davon aus, dass ich irgendwo etwas nicht richtig gemacht habe. Nur was, weiß ich eben nicht. Leider habe ich auch keine Dokumentation finden können, die eben genau dieses Problem beschreibt...

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6209
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: Unit Classes

Beitrag von af0815 »

Die Unit 'classes' gehört IMHO zum Compiler. Units die zur VCL bzw. von Delphi selbst zur Verfügung gestellt werden, sind nicht zu konvertieren.

Kontrolliere mal ob das am Anfang der Datei steht:

Code: Alles auswählen

{
    This file is part of the Free Component Library (FCL)
    Copyright (c) 1999-2000 by Michael Van Canneyt and Florian Klaempfl
    ......

Wenn nicht so, ist es sicherlich eine Version von Delphi
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

LazInteressent
Beiträge: 5
Registriert: Fr 4. Sep 2009, 14:13

Re: Unit Classes

Beitrag von LazInteressent »

Okay, vielen Dank! Das hat mich schon weitergebracht. Nachdem ich jetzt alle weiteren fehlenden Dateien noch kopiert habe, tritt jetzt beim Kompilieren nach etlichen Hints folgender Fehler auf:

classes.pp(80,1) Fatal: Selected assembler reader not supported

Auch damit kann ich überhaupt nichts anfangen.

Was hat dieser Fehler zu bedeuten (obwohl die Datei 'classes.pp' ja von Lazarus stammt) und wie kann er beseitigt werden?

Benutzeravatar
theo
Beiträge: 10497
Registriert: Mo 11. Sep 2006, 19:01

Re: Unit Classes

Beitrag von theo »

LazInteressent hat geschrieben:classes.pp(80,1) Fatal: Selected assembler reader not supported
Auch damit kann ich überhaupt nichts anfangen.


Wie kommst du denn auf diesen Zustand? Hast du die classes.pp etwa aus dem FPC RTL Verzeichnis rauskopiert?
Kannst du denn eine normale Lazarus Anwendung noch bauen? Projekt->Neues Projekt->Anwendung.

Ich seh da ein bisschen schwarz für dein Projekt. Wie gesagt, das "importieren" von Delphi Anwendugen ist nicht ohne Tücken.
Fang lieber mit Lazarus neu an und kopiere einfach nur die verwendeten Klassen und Funktionen aus den Delphi-Quellen raus.

martin_frb
Beiträge: 572
Registriert: Mi 25. Mär 2009, 21:12
OS, Lazarus, FPC: Laz trunk / fpc latest release / Win and other
CPU-Target: mostly 32 bit

Re: Unit Classes

Beitrag von martin_frb »

LazInteressent hat geschrieben:Nachdem ich jetzt alle weiteren fehlenden Dateien noch kopiert habe,


Also das hört sich falsch an.....
Die einzigen Dateien die du konvertieren/kopieren darfst, sind die Dateien des Projekts selber. (Im Projekt folder).

Dateien die von Delphi zu Verfügung gestellt wurden, können und dürfen nicht konvertiert werden. Und außerdem sollten die entsprechenden Dateien in Lazarus/FPC bereits existieren.

Dateien die in Lazarus/FPC dabei sind, muessen so wie sie sind verwendet werden. Auch hier is kein kopieren erlaubt. Wenn sie nicht gefunden werden, dann stell sicher das:
- in Menu / Project / Project Inspector: die benötigten packages eingetragen sind. (LCL, FCL)
- du *nicht* an den FPC settings (fpc.cfg) gespielt hast
- du weder den Lazarus, noch den FPC installations-pfad verändert hast (also nicht später umbenannt, verschoben ...)

Antworten