* property overriding dereference fix, but it need a bigger redesign

which i'll do tomorrow. This quick hack is for the lazarus ppl so
    they can hack on mwcustomedit.
This commit is contained in:
peter 1999-11-26 00:19:12 +00:00
parent 1974fc356a
commit eb4e24afb1
3 changed files with 39 additions and 5 deletions

View File

@ -479,6 +479,7 @@ uses
p^.propoptions:=ppropertysym(overriden)^.propoptions; p^.propoptions:=ppropertysym(overriden)^.propoptions;
p^.index:=ppropertysym(overriden)^.index; p^.index:=ppropertysym(overriden)^.index;
p^.proptype:=ppropertysym(overriden)^.proptype; p^.proptype:=ppropertysym(overriden)^.proptype;
p^.proptypesym:=ppropertysym(overriden);
p^.writeaccesssym:=copypropsymlist(ppropertysym(overriden)^.writeaccesssym); p^.writeaccesssym:=copypropsymlist(ppropertysym(overriden)^.writeaccesssym);
p^.readaccesssym:=copypropsymlist(ppropertysym(overriden)^.readaccesssym); p^.readaccesssym:=copypropsymlist(ppropertysym(overriden)^.readaccesssym);
p^.storedsym:=copypropsymlist(ppropertysym(overriden)^.storedsym); p^.storedsym:=copypropsymlist(ppropertysym(overriden)^.storedsym);
@ -1608,7 +1609,12 @@ uses
end. end.
{ {
$Log$ $Log$
Revision 1.10 1999-11-17 17:05:03 pierre Revision 1.11 1999-11-26 00:19:12 peter
* property overriding dereference fix, but it need a bigger redesign
which i'll do tomorrow. This quick hack is for the lazarus ppl so
they can hack on mwcustomedit.
Revision 1.10 1999/11/17 17:05:03 pierre
* Notes/hints changes * Notes/hints changes
Revision 1.9 1999/11/11 00:56:54 pierre Revision 1.9 1999/11/11 00:56:54 pierre

View File

@ -616,6 +616,7 @@
typ:=propertysym; typ:=propertysym;
propoptions:=[]; propoptions:=[];
proptype:=nil; proptype:=nil;
proptypesym:=nil;
readaccessdef:=nil; readaccessdef:=nil;
writeaccessdef:=nil; writeaccessdef:=nil;
readaccesssym:=nil; readaccesssym:=nil;
@ -678,6 +679,7 @@
inherited load; inherited load;
typ:=propertysym; typ:=propertysym;
proptype:=readdefref; proptype:=readdefref;
proptypesym:=ppropertysym(readsymref);
readsmallset(propoptions); readsmallset(propoptions);
index:=readlong; index:=readlong;
default:=readlong; default:=readlong;
@ -704,7 +706,13 @@
end; end;
begin begin
resolvedef(proptype); if assigned(proptypesym) then
begin
resolvesym(psym(proptypesym));
proptype:=proptypesym^.proptype;
end
else
resolvedef(proptype);
resolvedef(readaccessdef); resolvedef(readaccessdef);
resolvedef(writeaccessdef); resolvedef(writeaccessdef);
resolvedef(storeddef); resolvedef(storeddef);
@ -734,7 +742,16 @@
begin begin
tsym.write; tsym.write;
writedefref(proptype); if assigned(proptypesym) then
begin
writedefref(nil);
writesymref(proptypesym);
end
else
begin
writedefref(proptype);
writesymref(nil);
end;
writesmallset(propoptions); writesmallset(propoptions);
writelong(index); writelong(index);
writelong(default); writelong(default);
@ -2192,7 +2209,12 @@
{ {
$Log$ $Log$
Revision 1.129 1999-11-21 01:42:37 pierre Revision 1.130 1999-11-26 00:19:12 peter
* property overriding dereference fix, but it need a bigger redesign
which i'll do tomorrow. This quick hack is for the lazarus ppl so
they can hack on mwcustomedit.
Revision 1.129 1999/11/21 01:42:37 pierre
* Nextoverloading ordering fix * Nextoverloading ordering fix
Revision 1.128 1999/11/20 01:22:20 pierre Revision 1.128 1999/11/20 01:22:20 pierre

View File

@ -196,6 +196,7 @@
tpropertysym = object(tsym) tpropertysym = object(tsym)
propoptions : tpropertyoptions; propoptions : tpropertyoptions;
proptype : pdef; proptype : pdef;
proptypesym : ppropertysym;
readaccesssym,writeaccesssym,storedsym : ppropsymlist; readaccesssym,writeaccesssym,storedsym : ppropsymlist;
readaccessdef,writeaccessdef,storeddef,indexdef : pdef; readaccessdef,writeaccessdef,storeddef,indexdef : pdef;
index,default : longint; index,default : longint;
@ -323,7 +324,12 @@
{ {
$Log$ $Log$
Revision 1.40 1999-11-17 17:05:06 pierre Revision 1.41 1999-11-26 00:19:12 peter
* property overriding dereference fix, but it need a bigger redesign
which i'll do tomorrow. This quick hack is for the lazarus ppl so
they can hack on mwcustomedit.
Revision 1.40 1999/11/17 17:05:06 pierre
* Notes/hints changes * Notes/hints changes
Revision 1.39 1999/11/15 22:00:48 peter Revision 1.39 1999/11/15 22:00:48 peter