Hi Leute,
das war ein Kampf. Hab den Fehler gefunden!
Mit den Packages und deren Umgang ist alles korrekt. Der Fehler war an einer anderen Stelle. In meinen Units waren die Zeilenumbrüche nicht korrekt. Mann will es kaum glauben. Nachdem ich den Fehler auf drei anderen Rechnern mit unterschiedlicher Delphi-Installation nachvollziehen konnte hab ich mir die Mühe gemacht und mir meine Units mit einem HEX-Editor angeschaut. Mein Verdacht waren versteckte "Steuerzeichen". Dabei habe ich ein $0D$0D sowie ein einzelnes $0D anstatt eines $0D$0A als Zeilenumbruch gefunden. Nachdem ich dies geändert hatte (im Hexeditor) war alles Bestens. Der Versatz war weg, die Programme und Runtimepackages laufen zur vollsten Zufriedenheit. Debuggen: bestens.
Wie dieser Fehler da rein kam ist mir aber immer noch ein Rätzel. Ich habe die Units ausschließlich mit Delphi geöffnet. Auch CodeGear hat darauf noch keine Antwort gegeben. Ich glaube zu wissen, dass bei
HTML und Linux $0D als Zeilenumbruch verwendet wird. Habe den verwendeten Code aber definitiv selber geschrieben und nicht irgendwo her kopiert. Das einzige, was ich zwischendurch gemacht habe waren mehrere Refactorings. Ich hoffe nicht, dass da der Fehler steckt.
Wer diesen Fehler hat und zu faul ist das mit einem Hex-Editor zu machen, der kann die
Unit auch in einem einfachen Texteditor laden und wieder speichern. Das sollte diese Fehler automatisch korrigieren. Ich hatte mir erst ein kleines eigenes Tool geschrieben in dem ich meine Units in ein Memo lade. Dort wollte ich dann entsprechende Such- und Korrigiermethoden implementieren. Dabei habe ich festgestellt, dass das Memo die benannten Fehler automatisch korrigiert. Ich brauchte die
Unit dann nur noch unter dem gleichen Namen speichern und alles war paletti.
Dann schönen Gruß,
oki