|
@@ -867,7 +867,6 @@ uses
|
|
procedure tppumodule.load_implementation;
|
|
procedure tppumodule.load_implementation;
|
|
var
|
|
var
|
|
b : byte;
|
|
b : byte;
|
|
- oldobjectlibrary : tasmlibrarydata;
|
|
|
|
begin
|
|
begin
|
|
{ read implementation part }
|
|
{ read implementation part }
|
|
repeat
|
|
repeat
|
|
@@ -883,18 +882,6 @@ uses
|
|
Message1(unit_f_ppu_invalid_entry,tostr(b));
|
|
Message1(unit_f_ppu_invalid_entry,tostr(b));
|
|
end;
|
|
end;
|
|
until false;
|
|
until false;
|
|
-
|
|
|
|
- { we can now derefence all pointers to the implementation parts }
|
|
|
|
- oldobjectlibrary:=objectlibrary;
|
|
|
|
- objectlibrary:=librarydata;
|
|
|
|
- aktglobalsymtable:=tstoredsymtable(globalsymtable);
|
|
|
|
- tstoredsymtable(globalsymtable).derefimpl;
|
|
|
|
- if assigned(localsymtable) then
|
|
|
|
- begin
|
|
|
|
- aktstaticsymtable:=tstoredsymtable(localsymtable);
|
|
|
|
- tstoredsymtable(localsymtable).derefimpl;
|
|
|
|
- end;
|
|
|
|
- objectlibrary:=oldobjectlibrary;
|
|
|
|
end;
|
|
end;
|
|
|
|
|
|
|
|
|
|
@@ -1139,6 +1126,7 @@ uses
|
|
var
|
|
var
|
|
pu : tused_unit;
|
|
pu : tused_unit;
|
|
load_refs : boolean;
|
|
load_refs : boolean;
|
|
|
|
+ oldobjectlibrary : tasmlibrarydata;
|
|
begin
|
|
begin
|
|
if current_module<>self then
|
|
if current_module<>self then
|
|
internalerror(200212284);
|
|
internalerror(200212284);
|
|
@@ -1213,6 +1201,18 @@ uses
|
|
end;
|
|
end;
|
|
numberunits;
|
|
numberunits;
|
|
|
|
|
|
|
|
+ { we can now derefence all pointers to the implementation parts }
|
|
|
|
+ oldobjectlibrary:=objectlibrary;
|
|
|
|
+ objectlibrary:=librarydata;
|
|
|
|
+ aktglobalsymtable:=tstoredsymtable(globalsymtable);
|
|
|
|
+ tstoredsymtable(globalsymtable).derefimpl;
|
|
|
|
+ if assigned(localsymtable) then
|
|
|
|
+ begin
|
|
|
|
+ aktstaticsymtable:=tstoredsymtable(localsymtable);
|
|
|
|
+ tstoredsymtable(localsymtable).derefimpl;
|
|
|
|
+ end;
|
|
|
|
+ objectlibrary:=oldobjectlibrary;
|
|
|
|
+
|
|
{ load browser info if stored }
|
|
{ load browser info if stored }
|
|
if ((flags and uf_has_browser)<>0) and load_refs then
|
|
if ((flags and uf_has_browser)<>0) and load_refs then
|
|
begin
|
|
begin
|
|
@@ -1507,7 +1507,11 @@ uses
|
|
end.
|
|
end.
|
|
{
|
|
{
|
|
$Log$
|
|
$Log$
|
|
- Revision 1.48 2003-12-14 18:13:18 peter
|
|
|
|
|
|
+ Revision 1.49 2003-12-22 22:15:43 peter
|
|
|
|
+ * deref implementation after implementation units are loaded and
|
|
|
|
+ numbered
|
|
|
|
+
|
|
|
|
+ Revision 1.48 2003/12/14 18:13:18 peter
|
|
* also check currnet dir when searching source files
|
|
* also check currnet dir when searching source files
|
|
|
|
|
|
Revision 1.47 2003/11/28 17:23:16 peter
|
|
Revision 1.47 2003/11/28 17:23:16 peter
|