diff --git a/designer/tslvcldesigner.tsf b/designer/tslvcldesigner.tsf index bd724ad..d29edc0 100644 --- a/designer/tslvcldesigner.tsf +++ b/designer/tslvcldesigner.tsf @@ -127,7 +127,16 @@ type TVclDesigner = class(tvcform) tcname := tc.name; tcclassname := tc.dclassname; if not(tcclassname and tcname and ifstring(tcname) and ifstring(tcclassname)) then raise "´íÎó!"; - r+= "object "+ tc.name +":"+tc.dclassname+"\r\n"; + oorinh := (tc.isinherited)?"inherited ":"object "; + ihp := ""; + if tc.isinherited then + begin + if ifstring(tc.inheritedparent) then + begin + ihp := "("+tc.inheritedparent+")"; + end + end + r+= oorinh + tc.name +":"+tc.dclassname+ihp+"\r\n"; itemnames[length(itemnames)] := array(tc.name,tc.dclassname); cr := tc.GetChangedPublish(); for i,v in cr do diff --git a/designer/utslsynmemo.tsf b/designer/utslsynmemo.tsf index 3d87c68..5659823 100644 --- a/designer/utslsynmemo.tsf +++ b/designer/utslsynmemo.tsf @@ -1249,11 +1249,11 @@ type ttfmhighlighter = class(tcustomsynhighlighter) begin inherited; ExecuteCommand("string",array(('"',"\\"))); - ExecuteCommand("keywords",array("object","end")); + ExecuteCommand("keywords",array("object","end","inherited")); ExecuteCommand("rowannotes",array()); ExecuteCommand("blockannotes",array()); ExecuteCommand("syms",array("{","}","[","]","<",">",":",",","=")); - ExecuteCommand("pairs",array(("{","}"),("[","]"),("<",">"),("object","end"))); + ExecuteCommand("pairs",array(("{","}"),("[","]"),("<",">"),("object","end"),("inherited","end"))); end end diff --git a/designer/utslvcldcomponents.tsf b/designer/utslvcldcomponents.tsf index bc79eea..4588aee 100644 --- a/designer/utslvcldcomponents.tsf +++ b/designer/utslvcldcomponents.tsf @@ -34,6 +34,8 @@ type TDComponent = class() end end private + fisiherted; + finheritedparent; static fdcomponentobjects; protected fiscontainerdcmp; @@ -634,6 +636,9 @@ format(" hs := "\r\n\tfunction "+n+"("+ps+");"+vt+"\r\n\tbegin\r\n"+b+"\r\n\tend\r\n"; return hs; end + published + property isinherited read fisiherted write fisiherted;//Ϊ¼Ì³Ð×ö×¼±¸ + property inheritedparent read finheritedparent write finheritedparent; end type TDRootComponent = class(TDComponent) {** diff --git a/funcext/tvclib/utslmemo.tsf b/funcext/tvclib/utslmemo.tsf index e9e118f..8bc34b3 100644 --- a/funcext/tvclib/utslmemo.tsf +++ b/funcext/tvclib/utslmemo.tsf @@ -3224,12 +3224,13 @@ type tcustomsynhighlighter = class(TSynHighLighter) if n then begin st := fcbgestate[n]; - if fswordpairs[n][0]=bttk then + if fswordpairs[n][1]=bttk then begin - st.GetLeft(); - end else + st.GetRight(); + end else begin - st.GetRight(); + + st.GetLeft(); end d.FMATe := st.GetSate(); end @@ -3405,10 +3406,10 @@ type tcustomsynhighlighter = class(TSynHighLighter) v1 := v[1]; if ifstring(v0) and ifstring(v1) and v0 and v1 then begin - fswordpairs[v0,0]:= v0; - fswordpairs[v0,1]:= v1; - fswordpairshash[v0]:=v0; - fswordpairshash[v1]:=v0; + fswordpairs[v1,0]:= v0; + fswordpairs[v1,1]:= v1; + fswordpairshash[v0]:=v1; + fswordpairshash[v1]:=v1; end end