diff --git a/TSLInterp.dll b/TSLInterp.dll index 1376239..584d32c 100644 Binary files a/TSLInterp.dll and b/TSLInterp.dll differ diff --git a/designer/utslvclsyntaxparser.tsf b/designer/utslvclsyntaxparser.tsf index 344217a..f2790dd 100644 --- a/designer/utslvclsyntaxparser.tsf +++ b/designer/utslvclsyntaxparser.tsf @@ -227,6 +227,7 @@ type tslparser = class(tslparserbase) // while true do begin ctoken(tk,tp,pos); + if ifnil(tk) then break; if tk=")" then begin r["inheritedendpos"] := pos; @@ -280,11 +281,12 @@ type tslparser = class(tslparserbase) // while true do begin ctoken(tk,tp,pos); + if ifnil(tk) then break; if tp=TT_IDE then begin pu[length(pu)]:= tk; end else - if tk=";" then break; + if tk=";" then break; end r["uses"]:= array("row":row,"beg":usb,"end":pos,"info":pu); end else @@ -499,6 +501,7 @@ type tslparser = class(tslparserbase) // if tk <> "(" then fn := tk; while true do begin + if ifnil(tk) then break; if tk="begin" then begin //return parserstatement(); diff --git a/funcext/tvclib/tslvcl.tsf b/funcext/tvclib/tslvcl.tsf index 3a50a38..c6d8d5a 100644 --- a/funcext/tvclib/tslvcl.tsf +++ b/funcext/tvclib/tslvcl.tsf @@ -5797,7 +5797,7 @@ type Ttfm2Component = class(TTmfParser) if cn="tdcreateform" or cn="tdcreatepanel" then return ; if hastfmfile(phs,cn) then begin - Loadtfmtoform(o2,phs,cn); + Loadtfmtoform(o,phs,cn); //´Ó o2 ¸ÄΪo return ; end ic := ci["inherited"][0]; diff --git a/funcext/tvclib/utslvclpage.tsf b/funcext/tvclib/utslvclpage.tsf index 15d775c..913e033 100644 --- a/funcext/tvclib/utslvclpage.tsf +++ b/funcext/tvclib/utslvclpage.tsf @@ -653,6 +653,14 @@ type tcustompagecontrol = class(TCustomControl) pg := FTabItems[i].PageSheet; if not pg then continue; pg.Align := alNone; + if (pg is class(TWinControl)) and pg.WsPopUp then + begin + if i=FCurrentid then + begin + pg.show(); + end + continue; + end if i=FCurrentid then begin pg.Visible := true; diff --git a/tslkrnl.dll b/tslkrnl.dll index a7cb33b..843e90e 100644 Binary files a/tslkrnl.dll and b/tslkrnl.dll differ