Delphi Proj. konvertiert - Can't find unit dos used by gzio

Für Fragen von Einsteigern und Programmieranfängern...
Antworten
chansang
Beiträge: 1
Registriert: Sa 25. Sep 2010, 15:39

Delphi Proj. konvertiert - Can't find unit dos used by gzio

Beitrag von chansang »

Hallo zusammen,

ich bin neu hier im Forum und gehöre zu den Borland Delphi Umsteigern :)
Sicherlich könnt Ihr euch denken, wo nun meine ersten Probleme sind :)
Ein kleines Testprojekt konnte ich problemlos konvertieren. Hänge aber nun an einem größeren Projekt.

Ich nutze dabei den Menüpunkt "Delphi in Lazarus Projekt konvertieren". Alle Formulare und Units sind anscheinend erfoglreich konvertiert und vorhanden.
Beim compilieren bekomme ich jedoch folgende Meldung angezeigt:

Recompiling dos, checksum changed for strings {impl}
main.pas(1,1) Fatal: Can't find unit dos used by gzio


Die Unit dos ist im Lazarus Ordner vorhanden aber anscheinend hat sich was verändert.
Wie bekomme ich die Meldung nun weg bzw. was sagt sie eigentlich aus?

Übrigens:
Bisher habe ich Delphi 7 benutzt und nun Lazarus 0.9.28.2 Beta.
Das Betriebssystem ist Windows Vista.

Vielen Dank und schöne Grüße
chansang

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

Re: Delphi Proj. konvertiert - Can't find unit dos used by gzio

Beitrag von theo »

Willkommen chansang

Ich weiss nicht, ob jemand dir nur aufgrund dieser Meldung helfen kann. Ich kann es nicht.

Delphi Umsteiger versuchen oft als erstes die Funktion "Delphi in Lazarus Projekt konvertieren" aus.
Das ist vielleicht nicht ideal um in Lazarus einzusteigen.
Dieses Tool kann die Umwandlung komplexer Projekte nur erleichtern, aber selten vollständig durchführen.
Das wäre wahrsch. umgekehrt genauso, wenn es diese Funktion in Delphi gäbe.

Du solltest dir zuerst etwas Lazarus-Wissen aneignen um dann die zusätzlich notwendigen Schritte manuell durchführen zu können.
Ich kann nur soviel sagen: unit dos klingt in einer graphischen Multi-Plattform Umgebung nicht gerade gut.
Vieleicht findest du in FPC andere gzip tools

Lass dich dadurch nicht entmutigen.

Socke
Lazarusforum e. V.
Beiträge: 3178
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: Delphi Proj. konvertiert - Can't find unit dos used by gzio

Beitrag von Socke »

chansang hat geschrieben:Recompiling dos, checksum changed for strings {impl}
main.pas(1,1) Fatal: Can't find unit dos used by gzio
Die Lazarus-Installationspakete werden inklusive dem Freepascal-Compiler (FPC) ausgeliefert. Die Unit "dos" gehört demnach zum FPC (genauer zur Run Time Library, RTL) und nicht direkt zu Lazarus.
Der FPC stellt nun beim Übersetzen deines Projektes fest, dass die Unit "strings" im Interface-Teil geändert wurde und deshalb die Unit "dos" neu kompiliert werden muss (wenn eine Unit nur im Implementations-Teil geändert wird, müssen von dieser Unit abhängige Units nicht neu übersetzt werden).
Durch die Konfigurationsdateien weiß der FPC aber nur, wo sich die vorkompilierten Units (.o und .ppu) befinden; den Quelltext kennt er nicht. Daher findet er die Unit nicht.

Zur Lösung: Versuche einmal den FPC von aus den offiziellen Paketen zu installieren (Lazarus ist nicht wirklich ein offizielles FPC-Paket) und die entsprechenden Einstellungen in Lazarus zu ändern (Compiler-Pfad, Compiler-Quellen). Eventuell solltest du den FPC von Lazarus vorher löschen/Lazarus nochmal ohne FPC installieren.
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein

marcov
Beiträge: 1102
Registriert: Di 5. Aug 2008, 09:37
OS, Lazarus, FPC: Windows ,Linux,FreeBSD,Dos (L trunk FPC trunk)
CPU-Target: 32/64,PPC(+64), ARM
Wohnort: Eindhoven (Niederlande)

Re: Delphi Proj. konvertiert - Can't find unit dos used by gzio

Beitrag von marcov »

Hört sich an als ein Projekt das ursprünglich ein Turbo Pascal (für Dos) Projekt war. Units strings und dos gibts in TP, aber nicht in Delphi.

FPC hat sie aber, weil es TP UND Delphi kompatibel ist.

Ich kann mir zwei Ursachen denken:

1. das Delphi Projekt hat eigene Versionen von TP strings und/oder dos Units . Lösche oder versetze diese, weil FPC eigene hat.
2. Die Quellen versuchen den Kompiler mit IFDEFs zu bestimmen, und FPC wirt nicht als Delphi kompatibler Compiler erkannt, und dann wird TP Kompatibilität angenommen.

Antworten