2012-09-21 8 views
8

Ich bemerkte, dass in kompilierten exe gibt es fest codierte Pfade zu 3rd Party Komponenten Einheiten. Zum Beispiel, wenn ich VirtualTrees Komponente verwenden, TVirtualStringTree ich in kompilierte ausführbare Datei kann diesen Weg mehrmals finden: Ich verwende, Wege zu Komponente Einheiten in exeEinheit Pfad kompiliert in ausführbaren

C:\Program Files\Borland\Delphi7\Source\Virtual Treeview\Source\VirtualTrees.pas 

Dies zu fast allen 3rd-Party-Komponenten gilt. Ich denke, diese Informationen sollten nicht ausführbar sein, aber ich weiß nicht, was ich in Delphi 7 Einstellungen oder in den Projekteinstellungen ändern muss, um es loszuwerden. Hat jemand bitte eine Lösung?

Antwort

10

Was Sie sehen, sind die Assertion-Nachrichten, die die Quelle der Assert halten. Sie können sie deaktivieren, wenn Sie zu Project/Options gehen oder STRG + UMSCHALT + F11 Verknüpfung verwenden, die den Projektoptionen-Dialog öffnet.

Deaktivieren Sie das Kontrollkästchen Assertions in der Registerkarte Compiler, speichern Sie die Projektoptionen und erstellen Sie das Projekt neu. Nicht neu kompilieren, sondern neu aufbauen!

enter image description here

Die Wege in die Binärdatei Sie immer sehen, wenn Sie Assert verwenden, wenn Sie diese Option aktiviert haben werden.

+0

Vielen Dank TLama :) – Shadi

+1

Gern geschehen! Wie auch immer, Sie sollten die Assertions in Ihrer Debug-Umgebung aktiviert lassen und sie deaktivieren, wenn Sie eine Release-Version erstellen. Dies kann leicht aus einem Batch-Datei-Build-Skript erfolgen. – TLama

+5

@Shadi: Halten behauptet an kann tatsächlich sehr nützlich sein. Ihre internen Tests werden niemals alle möglichen Fehlerzustände erfassen, und das Vorhandensein von Assertionen schützt vor Datenbeschädigung. (Es ist noch nützlicher, wenn Sie auch ein Fehlerberichterstattungs-Tool wie MadExcept oder EurekaLog verwenden.) –