|
@@ -75,6 +75,7 @@ interface
|
|
procedure readasmsymbols;
|
|
procedure readasmsymbols;
|
|
end;
|
|
end;
|
|
|
|
|
|
|
|
+ procedure reload_flagged_units;
|
|
function registerunit(callermodule:tmodule;const s : stringid;const fn:string) : tppumodule;
|
|
function registerunit(callermodule:tmodule;const s : stringid;const fn:string) : tppumodule;
|
|
|
|
|
|
|
|
|
|
@@ -87,6 +88,24 @@ uses
|
|
aasmbase,
|
|
aasmbase,
|
|
parser;
|
|
parser;
|
|
|
|
|
|
|
|
+{****************************************************************************
|
|
|
|
+ Helpers
|
|
|
|
+ ****************************************************************************}
|
|
|
|
+
|
|
|
|
+ procedure reload_flagged_units;
|
|
|
|
+ var
|
|
|
|
+ hp : tmodule;
|
|
|
|
+ begin
|
|
|
|
+ { now reload all dependent units }
|
|
|
|
+ hp:=tmodule(loaded_units.first);
|
|
|
|
+ while assigned(hp) do
|
|
|
|
+ begin
|
|
|
|
+ if hp.do_reload then
|
|
|
|
+ tppumodule(hp).loadppu;
|
|
|
|
+ hp:=tmodule(hp.next);
|
|
|
|
+ end;
|
|
|
|
+ end;
|
|
|
|
+
|
|
|
|
|
|
{****************************************************************************
|
|
{****************************************************************************
|
|
TPPUMODULE
|
|
TPPUMODULE
|
|
@@ -1149,7 +1168,6 @@ uses
|
|
var
|
|
var
|
|
do_load,
|
|
do_load,
|
|
second_time : boolean;
|
|
second_time : boolean;
|
|
- hp,
|
|
|
|
old_current_module : tmodule;
|
|
old_current_module : tmodule;
|
|
begin
|
|
begin
|
|
old_current_module:=current_module;
|
|
old_current_module:=current_module;
|
|
@@ -1157,9 +1175,6 @@ uses
|
|
ImplIntf[old_current_module.in_interface],
|
|
ImplIntf[old_current_module.in_interface],
|
|
modulename^);
|
|
modulename^);
|
|
|
|
|
|
-if modulename^='NCGUTIL' then
|
|
|
|
- do_load:=do_load;
|
|
|
|
-
|
|
|
|
{ check if the globalsymtable is already available, but
|
|
{ check if the globalsymtable is already available, but
|
|
we must reload when the do_reload flag is set }
|
|
we must reload when the do_reload flag is set }
|
|
if (not do_reload) and
|
|
if (not do_reload) and
|
|
@@ -1306,16 +1321,7 @@ if modulename^='NCGUTIL' then
|
|
{ for a second_time recompile reload all dependent units,
|
|
{ for a second_time recompile reload all dependent units,
|
|
for a first time compile register the unit _once_ }
|
|
for a first time compile register the unit _once_ }
|
|
if second_time then
|
|
if second_time then
|
|
- begin
|
|
|
|
- { now reload all dependent units }
|
|
|
|
- hp:=tmodule(loaded_units.first);
|
|
|
|
- while assigned(hp) do
|
|
|
|
- begin
|
|
|
|
- if hp.do_reload then
|
|
|
|
- tppumodule(hp).loadppu;
|
|
|
|
- hp:=tmodule(hp.next);
|
|
|
|
- end;
|
|
|
|
- end
|
|
|
|
|
|
+ reload_flagged_units
|
|
else
|
|
else
|
|
usedunits.concat(tused_unit.create(self,true,false));
|
|
usedunits.concat(tused_unit.create(self,true,false));
|
|
|
|
|
|
@@ -1412,7 +1418,10 @@ if modulename^='NCGUTIL' then
|
|
end.
|
|
end.
|
|
{
|
|
{
|
|
$Log$
|
|
$Log$
|
|
- Revision 1.37 2003-06-08 11:40:14 peter
|
|
|
|
|
|
+ Revision 1.38 2003-08-23 22:29:24 peter
|
|
|
|
+ * reload flagged units when interface is loaded
|
|
|
|
+
|
|
|
|
+ Revision 1.37 2003/06/08 11:40:14 peter
|
|
* moved message to msg file
|
|
* moved message to msg file
|
|
|
|
|
|
Revision 1.36 2003/06/07 20:26:32 peter
|
|
Revision 1.36 2003/06/07 20:26:32 peter
|