Einzelnen Beitrag anzeigen

Benutzerbild von Flocke
Flocke

Registriert seit: 9. Jun 2005
Ort: Unna
1.172 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#4

Re: Problem mit der JCL Debug Extension

  Alt 27. Nov 2005, 23:32
Für alle, die es auch brauchen / haben möchten.

Die folgenden Änderungen an der Datei "jcl\examples\vcl\debugextension\JclDebugIdeImpl.p as" bewirken, dass der Experte die Option "Map-Datei: detailliert" nicht selbstständig abändert sondern statt dessen die Einstellung als (zusätzlichen) Schalter benutzt, ob die JCLDEBUG-Informationen in die Datei eingebunden werden.

Nochmal einzeln:
1. Der Schalter "Projekt" > "Insert JCL debug data" steuert, ob der Experte überhaupt aktiv ist.
2. Ist er aktiv, dann steuert man über "Projekt" > "Optionen..." mit der Einstellung "Map-Datei" auf der Seite "Linker", ob die Debug-Daten wirklich eingebunden werden.
2a. Einstellung "detailliert" -> ja
2b. Andere Einstellung -> nein

Hier ein Unified Diff zur Originalversion (JCL 1.95 aus dem Build 1848). Deaktivierte Zeilen wurde nicht entfernt sondern auskommentiert.
Code:
--- JclDebugIdeImpl.pas.orig   Mon Mar 21 04:04:14 2005
+++ JclDebugIdeImpl.pas   Sun Nov 27 23:11:03 2005
@@ -187,4 +187,6 @@
 begin
   if FInsertDataAction.Checked and Assigned(FCurrentProject) then
+  // VS: added to control the feature on a per-project basis via map file settings
+  if FSaveMapFile = MapFileOptionDetailed then
   begin
     ProjOptions := FCurrentProject.ProjectOptions;
@@ -260,4 +262,5 @@
   if FInsertDataAction.Checked then
   begin
+  { // VS: moved check for installed packages to the bottom
     if IsInstalledPackage(Project) then
     begin
@@ -267,4 +270,5 @@
     end
     else
+  }
     begin
       FCurrentProject := Project;
@@ -273,6 +277,14 @@
       FOptionsModifiedState := ProjOptions.ModifiedState;
       FSaveMapFile := ProjOptions.Values[MapFileOptionName];
+    { // VS: removed to control the feature on a per-project basis via map file settings
       if FSaveMapFile <> MapFileOptionDetailed then
         ProjOptions.Values[MapFileOptionName] := MapFileOptionDetailed;
+    }
+      // VS: moved check for installed packages here
+      if (FSaveMapFile = MapFileOptionDetailed) and IsInstalledPackage(Project) then
+      begin
+        MessageDlg(Format(RsCantInsertToInstalledPackage, [Project.FileName]), mtError, [mbNo], 0);
+        FSaveMapFile := 0;
+      end;
     end;
   end;
Volker
Besucht meine Garage
Aktuell: RtfLabel 1.3d, PrintToFile 1.4
  Mit Zitat antworten Zitat