Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Probelme mit system.pas und tlineprinter (https://www.delphipraxis.net/35514-probelme-mit-system-pas-und-tlineprinter.html)

trockentaucher 8. Dez 2004 11:48


Probelme mit system.pas und tlineprinter
 
Well, auch wenn ich nicht denke das es sich um ein Standard-Problem mit einer Standard-Lösung handelt, frage ich trotzdem mal:

Ich arbeite an einer Applikation mit mehreren Formularen und div. Datanbank-Komponenten (Extended Systems). Für simple Druckvorgänge habe ich anfangs die Komponente TLineprinter (ein tool aus 1997) eingesetzt. Diese Komponente habe ich aus den Formularen entfernt, da ich alle Druckvorgänge mit Rave bewerkstelligten wollte. Und fing mein Problem an. Nach dem entfernen des TLineprinter läßt sich das Proggy in der IDE nicht mehr starten, die system.pas macht in der function _ReallocMem probleme. DCU-Fenster: system.pas.2522: JE @@free
Starte ich das EXE-File der Appl. gibt es keine Probleme. Packe ich die Komponente TLineprinter wieder in irgendeines der Formulare, gibt es keine Probleme.

Ich habe Delphi (V7 Prof. mit Update auf 7.1 in einer W2K Umgebung) kompl. deinstalliert und neu eingerichtet, es ändert sich nichts. Erstelle ich eine neue Anwendung, packe den TLineprinter rein und wieder raus, gibt es keine Probleme.

Any ideas?

mfg,
trockentaucher

MaBuSE 8. Dez 2004 12:22

Re: Probelme mit system.pas und tlineprinter
 
Zitat:

Zitat von trockentaucher
Any ideas?

Meine Standardvorgehensweise bei solchen Fehlern:
  • Delphi beenden
  • alle *.dcu Dateien des Projektes und aller zugehörigen Units löschen
  • in $(DELPHI)\bin *.dcu löschen (dort haben keine dcu Dateien was zu suchen)
  • in $(DELPHI)\Projects\bpl schauen und evtl nicht benötigte Dateien löschen
  • Delphi starten
  • Menu -> Projekt -> Projekt erzeugen (build)
Oft sind solche Probleme damit erledigt.

Wenn Delphi eine Unit einbindet, wird die erste unitname.dcu eingebunden die im Projektpfad gefunden wird. Oft entstehen solche Fehler, indem alle abhängigen Dateien nicht neu kompiliert werden. Mit dem build werden zwar alle Dateien neu kompiliert, aber wenn die gewünchte *.pas Datei nicht zuerst im Pfad gefunden wird, wird doch die *.dcu verwendet.

Delphi Online Hilfe
Der Compiler enthält MAKE-Logik zur Unterstützung bei der Projektpflege. Der Compiler prüft alle Units, von denen die compilierte Datei abhängt. Diese Option beschleunigt die Compilierung.
Eine Unit wird unter den folgenden Bedingungen erneut compiliert:
  • Die Quelldatei der Unit wurde seit dem Erzeugen der Unit-Datei geändert.
  • Jede mit der Direktive $I eingefügte Datei, jede mit der Direktive $L verknüpfte .OBJ-Datei sowie jede mit der Direktive $R referenzierte .res-Datei ist neuer als die Unit-Datei.
  • Der interface-Abschnitt einer Unit, die in einer uses-Anweisung referenziert wird, wurde verändert.


Der Fehler kann aber natürlich auch woanders liegen :|

trockentaucher 8. Dez 2004 12:32

Re: Probelme mit system.pas und tlineprinter
 
Zitat:

Zitat von MaBuSE
Zitat:

Zitat von trockentaucher
Any ideas?

Der Fehler kann aber natürlich auch woanders liegen :|

Ja, leider, hatte ich schon probiert, hilft nur nichts... trotzdem Danke für die Info!

mfg,
trockentaucher

trockentaucher 8. Dez 2004 15:34

Re: Probelme mit system.pas und tlineprinter
 
Für die jenigen die es interessiert und ansonsten um das "Knowledge-Warehouse" zu füllen:

Die Ursache selber konnte ich nicht eruieren, aber nachdem ich ein neues Project erstellt und alle Formulare/Units dem Project hinzugefügt habe, lief es fehlerfrei. Das Problem muß also im Project-File gelegen haben.

greets,
trockentaucher

MaBuSE 8. Dez 2004 15:44

Re: Probelme mit system.pas und tlineprinter
 
Zitat:

Zitat von trockentaucher
Die Ursache selber konnte ich nicht eruieren, aber nachdem ich ein neues Project erstellt und alle Formulare/Units dem Project hinzugefügt habe, lief es fehlerfrei. Das Problem muß also im Project-File gelegen haben.

Oder in der *.dof Datei ;-)


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:33 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