Autor Beitrag
_frank_
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 343
Erhaltene Danke: 1

Win XP
Delphi 3 Prof / Turbo Delphi Explorer
BeitragVerfasst: Do 28.09.06 19:08 
Auf der Suche nach Speicherlecks hab ich mal probiert meinen DFMEdit unter delphi 7 mit der aktuellen FastMM472 zu kompilieren.
Dabei springt mich folgende Fehlermeldung an:

ausblenden Quelltext
1:
für den Zugriff auf 'isMultiThead' von Unit FastMM4 wird die Referenz auf importierte Daten ($G) benötigt					


ich habe versucht per {$G+} in der Projektdatei, in der Fastmm4.pas und in meiner Main-form-unit diese Compileranweisung zu setzen. leider vergebens.
Bei google bzw. in der readme hab ich keine Infos dazu gefunden.

Hat evtl. jemand eine Idee?

Gruß Frank
0xCC
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 150



BeitragVerfasst: Do 28.09.06 20:38 
(C) DELPHI HILFE hat folgendes geschrieben:

Bei der Compilierung der in der Meldung angegebenen Unit war der Schalter $G nicht aktiviert.

(*$IMPORTEDDATA OFF*)
unit u0;
interface
implementation
begin
WriteLn(System.RandSeed);
end.

program u1;
uses u0;
end.

In diesem Beispiel soll die Unit u0 allein compiliert werden. Anschließend soll eine Compilierung von u1 zusammen mit CLXxx erfolgen (wobei 'xx' die Version bezeichnet). Das Problem tritt hier auf, weil Unit u0 unter der Voraussetzung compiliert wurde, dass sie nie auf die Daten eines Package zugreift.

(*$IMPORTEDDATA ON*)
unit u0;
interface
implementation
begin
WriteLn(System.RandSeed);
end.

program u1;
uses u0;
end.


Das Problem lässt sich am einfachsten durch eine erneute Compilierung der Fehler verursachenden Unit mit aktivierter Option $IMPORTEDDATA lösen.
_frank_ Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 343
Erhaltene Danke: 1

Win XP
Delphi 3 Prof / Turbo Delphi Explorer
BeitragVerfasst: Fr 29.09.06 11:11 
hab jetzt bei jeder unit (auch fastmm4, welche in der Fehlermeldung steht) als erstes (vor unit/program) den genannten Compilerschalter sowohl als
{$G+}
{$IMPORTEDDATA ON}
(*$IMPORTEDDATA ON*)
eingefügt trotzdem kommt die Fehlermeldung...
in der fastMM wird der compilerschlater auch nicht ausgeschaltet.

Gruß Frank
0xCC
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 150



BeitragVerfasst: Fr 29.09.06 12:47 
lösch mal die bestehende fastmm4.dcu, oder versuch die datei auf der commandozeile mit dcc32.exe zu compilen
_frank_ Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 343
Erhaltene Danke: 1

Win XP
Delphi 3 Prof / Turbo Delphi Explorer
BeitragVerfasst: Fr 29.09.06 13:00 
compilieren geht, aber trotzdem der fehler...
hab auch in der projectdatei jetzt nur "fastmm4," geschrieben, damit er die dcu nimmt...

Gruß Frank
_frank_ Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 343
Erhaltene Danke: 1

Win XP
Delphi 3 Prof / Turbo Delphi Explorer
BeitragVerfasst: Fr 29.09.06 16:30 
gelöst:
man muss die Option UseRuntimePackages in der inc-datei aktivieren

Gruß Frank