我的电脑c盘 recovery.txtrecvdelrec.txt在哪儿

为什么我的C盘里会出现 360Rec的文件夹?_百度知道
为什么我的C盘里会出现 360Rec的文件夹?
我360杀毒软件是放在D盘里,为什么我的C盘会出现这个文件?
我有更好的答案
那文件自然会生成,每当360启动打开个是360里的脚本,不必去删它,因为当你电脑开机启动有设置360的话,那个是360修复系统漏洞的
管他呢.有时候就这样 360自己创建的一个文件夹。删了就OK。 如果删不掉就关了360再删就OK
这是360杀毒隔离后的文件,如果电脑能正常时候,可以把这个文件夹里文件删除
有的傻瓜系统碟本身就带360的
所以在系统盘里有360不奇怪
这是360杀木马的一个临时文件夹,没关系的
其他类似问题
为您推荐:
360rec的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁CnClasses开发包基础类.txt
CnDebugger需求与设计说明书.doc
CnPack多语组件包概要设计说明书.doc
多语包修改后的设计方案.txt
多语包在专家包中的使用说明.txt
多语包需求说明.txt
CnDock系列组件设计说明书.doc
CnTimer组件设计说明书.doc
CnSkin系列组件设计说明书.doc
CnCalendar历法说明.txt
CnDebugger接口帮助文档.doc
CnPack不可视组件帮助文档.doc
CnPack停靠组件帮助文档.doc
CnPack多语组件帮助文档.doc
CnPack平滑字体组件帮助文档.doc
CnPack网络组件帮助文档.doc
CnTimer详解.txt
如何使用编译开关建立可移植的代码.txt
CnPack公益基金章程.doc
CnPack协同开发预案.htm
CnPack开发方案.doc
CnPack开发组成员手册.doc
CnPack开发组报名申请函.txt
CVS使用说明.txt
Delphi开发能力自我评测.doc
如何为CnPack组件包捐献及移植代码.txt
2002年10月份工作总结.txt
2002年11月份工作总结.txt
2002年2月份工作总结.txt
2002年3月份工作总结.txt
2002年4月份工作总结.txt
2002年5月份工作总结.txt
2002年6月份工作总结.txt
2002年7月份工作总结.txt
2002年8月份工作总结.txt
日北京聚会会议记要.doc
2002年9月份工作总结.txt
日管理员会议纪要.doc
2003年10月份工作总结.txt
2003年11月份工作总结.txt
2003年12月份与2004年1月份工作总结.txt
2003年4月份工作总结.txt
2003年5月份工作总结.txt
2003年6月份工作总结.txt
2003年7月份工作总结.txt
2003年8月份工作总结.txt
2003年9月份工作总结.txt
2003年第一季度工作总结.txt
2004年2月份与2004年3月份工作总结.txt
2004年4月份与2004年5月份工作总结.txt
2004年6月份与2004年7月份工作总结.txt
2004年8月份9月份10月份工作总结.txt
2004年年度工作总结.txt
2005年第一季度工作总结.txt
2005年第三季度工作总结.txt
2005年第二季度工作总结.txt
2006年工作总结.txt
2007年上半年工作总结.txt
2007年下半年工作总结.txt
2008年上半年工作总结.txt
InfoQ采访稿.txt
CnPack.dot
CnPack_CVSTrac任务单模板.txt
CnPack发布文档模板.dot
CnPack演示文稿模板.pot
CnPack组件帮助文档模板.dot
Delphi编码规范.htm
开发组会议记录模版.dot
文本文档标准格式.txt
组件包框架详细设计模板.dot
组件包概要设计模板.dot
组件设计说明书模板.dot
ADOUpdateSQL
CnADOUpdateSQL.mdb
Project1.cfg
Project1.dof
Project1.dpr
Project1.res
AntiCheater
AntiCheater.cfg
AntiCheater.dof
AntiCheater.dpr
AntiCheater.res
AntiCheaterTest.dfm
AutoOption
AutoOption.cfg
AutoOption.dof
AutoOption.dpr
AutoOption.res
CheckTreeView
Project1.cfg
Project1.dof
Project1.dpr
Project1.res
CnAAFontDemo
AAFont.dof
AAFont.dpr
AAFont.res
Project1.cfg
Project1.dof
Project1.dpr
Project1.res
CnCalendar
TestCal.cfg
TestCal.dof
TestCal.dpr
TestCal.res
CnEditDemo.cfg
CnEditDemo.dof
CnEditDemo.dpr
CnEditDemo.res
CnInetDemo.cfg
CnInetDemo.dof
CnInetDemo.dpr
CnInetDemo.res
ProjectModem.cfg
ProjectModem.dof
ProjectModem.dpr
ProjectModem.res
uFrmModem.dfm
CnSkinMagicDemo
MainFrm.dfm
SkinMagicDemo.cfg
SkinMagicDemo.dof
SkinMagicDemo.dpr
SkinMagicDemo.res
UDPDemo.cfg
UDPDemo.dof
UDPDemo.dpr
UDPDemo.res
UDPDemoFrm.dfm
CnWaterImage
WaterImage.cfg
WaterImage.dof
WaterImage.dpr
WaterImage.res
ColorGridDemo.cfg
ColorGridDemo.dof
ColorGridDemo.dpr
ColorGridDemo.res
UfrmMain.dfm
Project1.cfg
Project1.dof
Project1.dpr
Project1.res
DebugSender
OutPut.cfg
OutPut.dof
OutPut.dpr
OutPut.res
UnitOutput.dfm
CnDialUpDemo.dfm
AdvancePro.cfg
AdvancePro.dof
AdvancePro.dpr
AdvancePro.res
DockOption
DockInfo.ini
DockOptionDemo.dpr
DockOptionDemo.res
DockWindow.dfm
MainForm.dfm
Project1.dpr
Project1.res
FilePacker
PackerDemo.cfg
PackerDemo.dof
PackerDemo.dpr
PackerDemo.res
FileSystemWatcher
FileSystemWatcherTest.cfg
FileSystemWatcherTest.dof
FileSystemWatcherTest.dpr
FileSystemWatcherTest.res
MainFrm.dfm
MainFrm_1033.dfm
HardwareInfo
uCpuIDMain.dfm
HashTest_D7
fMainUnit.dfm
fTxtGenUnit.dfm
HashTest.dpr
HashTest.res
test.out.txt
TxtGen.dpr
TxtGen.res
HexEditorApp.cfg
HexEditorApp.dof
HexEditorApp.dpr
HexEditorApp.res
HexEditorUnit.dfm
Project1.cfg
Project1.dof
Project1.dpr
Project1.res
KeyBlocker
Project1.cfg
Project1.dof
Project1.dpr
Project1.res
LinkedList
Project1.txt
Project1.txt
Project1.cfg
Project1.dof
Project1.dpr
Project1.res
ObjectPool
ObjPool.cfg
ObjPool.dof
ObjPool.dpr
ObjPool.res
CnPingDemo.cfg
CnPingDemo.dof
CnPingDemo.dpr
CnPingDemo.res
uCnPingDemo.dfm
ProgressForm
Project1.cfg
Project1.dof
Project1.dpr
Project1.res
Stdcallback
Project1.cfg
Project1.dof
Project1.dpr
Project1.res
SunRiseSet
SunRiseSet.cfg
SunRiseSet.dof
SunRiseSet.dpr
SunRiseSet.res
ThreadPool_D7
Project1.dof
Project1.dpr
Project1.res
CnTrayIconDemo.cfg
CnTrayIconDemo.dof
CnTrayIconDemo.dpr
CnTrayIconDemo.res
CnTrayIconMainUnit.dfm
VolumeCtrl
VolumeCtrl.cfg
VolumeCtrl.dof
VolumeCtrl.dpr
VolumeCtrl.res
WinampCtrl
WinampCtrl.cfg
WinampCtrl.dof
WinampCtrl.dpr
WinampCtrl.res
Project1.cfg
Project1.dof
Project1.dpr
Project1.res
CnPack_CB5.bpk
CnPack_CB5.res
dclCnPack_CB5.bpk
dclCnPack_CB5.res
CnPack_CB6.bpk
CnPack_CB6.res
dclCnPack_CB6.bpk
dclCnPack_CB6.res
Delphi2005
CnPack_D9.bdsproj
CnPack_D9.cfg
CnPack_D9.dpk
CnPack_D9.res
dclCnPack_D9.bdsproj
dclCnPack_D9.cfg
dclCnPack_D9.dpk
dclCnPack_D9.res
Delphi2006
CnPack_D10.bdsproj
CnPack_D10.cfg
CnPack_D10.dpk
CnPack_D10.res
dclCnPack_D10.bdsproj
dclCnPack_D10.cfg
dclCnPack_D10.dpk
dclCnPack_D10.res
Delphi2007
CnPack_D11.bdsproj
CnPack_D11.cfg
CnPack_D11.dpk
CnPack_D11.dproj
CnPack_D11.res
dclCnPack_D11.bdsproj
dclCnPack_D11.cfg
dclCnPack_D11.dpk
dclCnPack_D11.dproj
dclCnPack_D11.res
CnPack_D5.cfg
CnPack_D5.dof
CnPack_D5.dpk
CnPack_D5.res
dclCnPack_D5.cfg
dclCnPack_D5.dof
dclCnPack_D5.dpk
dclCnPack_D5.res
CnPack_D6.cfg
CnPack_D6.dof
CnPack_D6.dpk
CnPack_D6.res
dclCnPack_D6.cfg
dclCnPack_D6.dof
dclCnPack_D6.dpk
dclCnPack_D6.res
CnPack_D7.cfg
CnPack_D7.dof
CnPack_D7.dpk
CnPack_D7.res
dclCnPack_D7.cfg
dclCnPack_D7.dof
dclCnPack_D7.dpk
dclCnPack_D7.res
CnCompAboutFrm.dfm
CnPack.dcr
CnPack.inc
CnADOUpdateSQLFrm.dfm
CnRunSqlFrame.dfm
CnAAFontDialog.dfm
CnAOTreeView.res
CnButtonEdit.res
CnButtons.res
CnCheckTreeView.res
CnSpin.res
CnAAFontDialog.dfm
CnCompAboutFrm.dfm
CnFoxmailMsgFrm.dfm
CnProgressFrm.dfm
CnRS232Dialog.dfm
CnAAFontDialog.dfm
CnCompAboutFrm.dfm
CnFoxmailMsgFrm.dfm
CnProgressFrm.dfm
CnRS232Dialog.dfm
CnAAFontDialog.dfm
CnCompAboutFrm.dfm
CnFoxmailMsgFrm.dfm
CnProgressFrm.dfm
CnRS232Dialog.dfm
CnTransEditor.dfm
CnTransFilter.dfm
QLangIDs.inc
CnRS232Dialog.dfm
CnConjoinDockHost.dfm
CnDockableForm.dfm
CnTabDockHost.dfm
CnFoxmailMsgFrm.dfm
CnProgressFrm.dfm
CnPropSheetFrm.dfm
CnSkinStyleXP.rc
CnSkinXPBlueStyle.res
CnSkinXPGreenStyle.res
CnSkinXPSilverStyle.res
Readme.txt
Readme.txt
CleanInplace.bat
License.chs.txt
License.cht.txt
License.enu.txt
Readme.chs.txt
Readme.cht.txt
Readme.enu.txt
CnDUnitProject.dpr
CnMemProfProject.dpr
CnMemProf_Unit1.dfm
AutoIndent.dat
CodeTemplate.xml
CodeWrap.xml
CodeWrap_CB.xml
CompDirect.ini
CorRules.ini
DirTemplet.xml
EditorToolBar.ini
Editor_CB_CHS.cdt
Editor_CB_CHT.cdt
Editor_CB_ENU.cdt
Editor_CHS.cdt
Editor_CHT.cdt
Editor_ENU.cdt
FloatPropBar.dat
FormToolBar0.ini
FormToolBar1.ini
GroupReplace.xml
JavaDocComment.xml
PreDefSymbols.xml
Prefix.ini
ReadOnlyDirs.dat
ReadOnlyDirs_CB.dat
TopRoller.dat
UserSymbols.xml
UsesClean.dat
UsesIgnore.dat
WebSearch_CHS.xml
WebSearch_CHT.xml
WebSearch_ENU.xml
XmlComment.xml
Readme.txt
CnAlignBottom.ico
CnAlignHCenter.ico
CnAlignLeft.ico
CnAlignRight.ico
CnAlignShowFlatForm.ico
CnAlignToGrid.ico
CnAlignTop.ico
CnAlignVCenter.ico
CnAsciiChart.ico
CnBringToFront.ico
CnCompFilterBtn.bmp
CnCompToCode.ico
CnCopyCompName.ico
CnDecHeight.ico
CnDecWidth.ico
CnEditorCodeComment.ico
CnEditorCodeDelBlank.ico
CnEditorCodeIndent.ico
CnEditorCodeSwap.ico
CnEditorCodeToggleComment.ico
CnEditorCodeToString.ico
CnEditorCodeUnComment.ico
CnEditorCodeUnIndent.ico
CnEditorCollector.ico
CnEditorInsertColor.ico
CnEditorInsertTime.ico
CnEditorNextMessage.ico
CnEditorOpenFile.ico
CnEditorPrevMessage.ico
CnEditorSortLines.ico
CnEditorToggleUses.ico
CnEditorToggleVar.ico
CnEditorWizard.ico
CnEditorWizardConfig.ico
CnEditorZoomFullScreen.ico
CnFavWizManageFavorite.ico
CnFavWziAddToFavorite.ico
CnHideComponent.ico
CnIncHeight.ico
CnIncWidth.ico
CnListComp.ico
CnLockControls.ico
CnMakeMaxHeight.ico
CnMakeMaxWidth.ico
CnMakeMinHeight.ico
CnMakeMinWidth.ico
CnMakeSameHeight.ico
CnMakeSameSize.ico
CnMakeSameWidth.ico
CnMsdnWizRunConfig.ico
CnMsdnWizRunMsdn.ico
CnMsdnWizRunSearch.ico
CnNonArrange.ico
CnParentHCenter.ico
CnParentVCenter.ico
CnPas2HtmlWizardConfig.ico
CnPas2HtmlWizardCopySelected.ico
CnPas2HtmlWizardExportBPG.ico
CnPas2HtmlWizardExportDPR.ico
CnPas2HtmlWizardExportOpened.ico
CnPas2HtmlWizardExportUnit.ico
CnProjExtBackup.ico
CnProjExtDelTemp.ico
CnProjExtDirBuilder.ico
CnProjExtExploreExe.ico
CnProjExtExploreProject.ico
CnProjExtExploreUnit.ico
CnProjExtFileReopen.ico
CnProjExtFilesRestore.ico
CnProjExtFilesSnapshot.ico
CnProjExtFilesSnapshotAdd.ico
CnProjExtFilesSnapshotManage.ico
CnProjExtFilesSnapshotsItem0.ico
CnProjExtFilesSnapshotsItem1.ico
CnProjExtFilesSnapshotsItem2.ico
CnProjExtFilesSnapshotsItem3.ico
CnProjExtFilesSnapshotsItem4.ico
CnProjExtFilesSnapshotsItem5.ico
CnProjExtFilesSnapshotsItem6.ico
CnProjExtFilesSnapshotsItem7.ico
CnProjExtFilesSnapshotsItem8.ico
CnProjExtFilesSnapshotsItem9.ico
CnProjExtListUsed.ico
CnProjExtRunSeparately.ico
CnProjExtUseUnits.ico
CnProjExtViewForms.ico
CnProjExtViewUnits.ico
CnScriptForm.ico
CnScriptWizardConfig.ico
CnSelectRoot.ico
CnSendToBack.ico
CnShowFlatForm.ico
CnSizeToGrid.ico
CnSnapToGrid.ico
CnSpaceDecH.ico
CnSpaceDecV.ico
CnSpaceEquH.ico
CnSpaceEquHX.ico
CnSpaceEquV.ico
CnSpaceEquVY.ico
CnSpaceIncH.ico
CnSpaceIncV.ico
CnSpaceRemoveH.ico
CnSpaceRemoveV.ico
CnSrcEditorBlockTools.ico
CnTabOrderAutoReset.ico
CnTabOrderConfig.ico
CnTabOrderDispTabOrder.ico
CnTabOrderSetCurrControl.ico
CnTabOrderSetCurrForm.ico
CnTabOrderSetOpenedForm.ico
CnTabOrderSetProject.ico
CnTabOrderSetProjectGroup.ico
CnUseGuidelines.ico
CnWizAbout.bmp
CnWizAboutBbs.ico
CnWizAboutBugReport.ico
CnWizAboutConfigIO.ico
CnWizAboutHelp.ico
CnWizAboutHistory.ico
CnWizAboutMail.ico
CnWizAboutTipOfDay.ico
CnWizAboutUpgrade.ico
CnWizAboutUrl.ico
CnWizardsSetup.ico
CnWizConfig.ico
CnWizDocumentMgr.ico
CnWizImageMgr.ico
CnWizSplash.bmp
TCnAlignSizeWizard.ico
TCnBookmarkWizard.ico
TCnCommentCropperWizard.ico
TCnComponentSelector.ico
TCnCorPropWizard.ico
TCnCpuWinEnhanceWizard.ico
TCnDfm6To5Wizard.ico
TCnDUnitWizard.ico
TCnEditorWizard.ICO
TCnExplorerWizard.ico
TCnFastCodeWizard.ico
TCnFavoriteWizard.ico
TCnFilesSnapshotWizard.ico
TCnFormEnhanceWizard.ico
TCnIdeBRWizard.ico
TCnIdeEnhanceMenuWizard.ico
TCnIniFilerWizard.ico
TCnInputHelper.ico
TCnMemProfWizard.ico
TCnMessageBoxWizard.ico
TCnMsdnWizard.ico
TCnObjInspectorEnhanceWizard.ico
TCnPaletteEnhanceWizard.ico
TCnPas2HtmlWizard.ico
TCnPrefixWizard.ico
TCnProcListWizard.ico
TCnProjectExtWizard.ico
TCnReplaceWizard.ico
TCnRepositoryMenuWizard.ico
TCnResourceMgrWizard.ico
TCnScriptWizard.ico
TCnSourceDiffWizard.ico
TCnSourceHighlight.ico
TCnSrcEditorEnhance.ico
TCnSrcTemplate.ico
TCnStatWizard.ico
TCnTabOrderWizard.ico
TCnUsesCleaner.ico
TCnVerEnhanceWizard.ico
TCnWinTopRoller.ico
TCnWizAbout.ico
CnDebugViewer.txt
CnIdeBRTool.txt
CnManageWiz.txt
CnWizards.txt
Comments.ini
ConfigIO.txt
Dfm6To5.txt
TipOfDay.ini
CnDebugViewer.txt
CnIdeBRTool.txt
CnManageWiz.txt
CnWizards.txt
Comments.ini
ConfigIO.txt
Dfm6To5.txt
TipOfDay.ini
CnDebugViewer.txt
CnIdeBRTool.txt
CnManageWiz.txt
CnWizards.txt
Comments.ini
ConfigIO.txt
Dfm6To5.txt
TipOfDay.ini
IncDemo.inc
TypInfo.inc
CnPropSheetFrm.dfm
Readme.txt
CnOTACreators设计说明书.doc
CnPack IDE Wizards Presentation.ppt
CnPack IDE 专家包参赛作品介绍.ppt
CnPack IDE专家包IDE升级改动备忘录.txt
CnPack IDE专家包作品说明书.doc
CnWizards专家编写指南.doc
CnWizards帮助文件规范.txt
CnWizards框架详细设计说明书.doc
CnWizards概要设计说明书.doc
CnWizards简介.txt
CnWizards调试说明书.doc
CnWizards部分功能测试报告.doc
定制编译CnWizards的方法.txt
扩展Delphi的IDE.doc
CnWizards_CHS
cnsmr1.gif
cnsmr2.gif
cnsmr3.gif
cnsmr4.gif
cnsmr5.gif
cnsmr6.gif
cnsmr7.gif
cndebug.htm
cndebugviewer.gif
cndebugviewer.htm
senderfilter.gif
settings.gif
ideenhance
capbuttons.gif
cpuwin.htm
cpuwinconf.gif
cpuwinmenu.gif
fastcodeopt.htm
flatform.gif
flatformcustomize.gif
formdesigner.htm
formehnconf.gif
inputhelper.gif
inputhelper.htm
inputhelperconf.gif
inputhelperconf1.gif
inputhelperconf2.gif
inputhelperedit.gif
multilinepal.gif
objinspector.gif
objinspector.htm
palenhconf.gif
palette.htm
searchcomp.gif
srchighlight.gif
srchighlight.htm
srchighlight1.gif
srchighlightconf.gif
srchighlightlineconf.gif
tabsmenu.gif
verenh.htm
verenhconf.gif
wintoproller.gif
wintoproller.htm
gelicense.htm
license.htm
cmdline.htm
create.gif
menuorder.gif
otherconfig.gif
otherconfig.htm
propconfig.gif
propconfig.htm
propcustom.gif
upgrade.gif
upgrade.htm
wizconfig.gif
wizconfig.htm
contact.htm
credits.htm
history.htm
propeditor
propeditor.htm
propsize.gif
propsize.htm
propstring.htm
propstring1.gif
propstring2.gif
srcedtautoro.htm
srcedtautosave.htm
srcedtblockcase.gif
srcedtblockcomment.gif
srcedtblockedit.gif
srcedtblockformat.gif
srcedtblockmisc.gif
srcedtblockreplace.gif
srcedtblockreplaceconf.gif
srcedtblocksearch.gif
srcedtblocksearchconf.gif
srcedtblocktools.gif
srcedtblocktools.htm
srcedtblockwrap.gif
srcedtblockwrapconf.gif
srcedtehnconf1.gif
srcedtehnconf2.gif
srcedtehnconf3.gif
srcedtehnconf4.gif
srcedtenh.htm
srcedtgutter.gif
srcedtgutter.htm
srcedtnav.gif
srcedtnav.htm
srcedtothers.htm
srcedtpopupmenu.gif
srcedtpopupmenu.htm
srcedttab.gif
srcedttab.htm
srcedttbcustomize.gif
srcedttoolbar.gif
srcedttoolbar.htm
asciichart.gif
asciichart.htm
codecomment.gif
editorcodecomment.htm
editorcodedelblank.gif
editorcodedelblank.htm
editorcodeindent.htm
editorcodeswap.htm
editorcodetogglecomment.htm
editorcodetostring.gif
editorcodetostring.htm
editorcodeuncomment.htm
editorcodeunindent.htm
editorcollector.gif
editorcollector.htm
editorfullscreen.gif
editorfullscreen.htm
editorinsertcolor.htm
editorinserttime.htm
editorjumpmsg.htm
editoropenfile.gif
editoropenfile.htm
editorprevmsg.htm
editorsortlines.htm
editortoggleuses.htm
editortogglevar.htm
wizeditorform.gif
wizeditors.htm
cleantmp.htm
dirbuilder.gif
dirbuilder.htm
dirimport.gif
filesnapshot.htm
formslist.gif
formslist.htm
framelist.gif
frameslist.htm
listused.gif
listused.htm
openhisfile.gif
openhisfileop1.gif
openhisfileop2.gif
projbackup.gif
projbackup.htm
projbackupsave.gif
projbackupsave1.gif
projbackupsave2.gif
projectexcleantmp.gif
projectexwizard.gif
projectexwizard.htm
reopener.htm
snapmenu.gif
unitslist.gif
unitslist.htm
uselist.gif
uselist.htm
repository
cnmemprof.htm
cnmemprofform.gif
dunitform.gif
dunitwizard.htm
inifilerform.gif
inifilerwizard.htm
alignsizeconfig.gif
alignsizemenu.gif
alignsizewizards.htm
arrangenonvisual.gif
Bookmark.gif
BookmarkSetup.gif
bookmarkwizards.htm
cnidebrtool.htm
cnidebrtool1.gif
cnidebrtool2.gif
cnidebrtool3.gif
cnidebrtool4.gif
cnidebrtool5.gif
cnidebrtool6.gif
cnidebrtool7.gif
cnidebrtool9.gif
cnmanagewiz.gif
cnmanagewiz.htm
cnproclist.gif
cnproclistwizard.htm
cnusescleaner.htm
commcropper.gif
commcropwizard.htm
ComponentSelector.gif
componentselector.htm
comptocode.gif
corprop.htm
corpropcfg.gif
corpropmain.gif
corproprules.gif
dfm6to5wizards.htm
explorer.gif
explorer.htm
idemenu.gif
listcomp.gif
msdnmenu.gif
msdnsetup.gif
msdntoolbar.gif
msdnwizards.htm
msgboxwizard.gif
msgboxwizardconfig.gif
msgboxwizards.htm
Pas2htmlMenu.gif
Pas2htmlOp1.gif
Pas2htmlOp2.gif
pas2htmlwizards.htm
prefixcomp.gif
prefixconfig.gif
prefixdefine.gif
prefixedit.gif
prefixexe.gif
prefixwizard.htm
Replacewizards.gif
replacewizards.htm
repository.htm
repositorynew.gif
scriptlib.gif
scriptwindow.gif
scriptwizard.htm
sourcediff1.gif
sourcediff2.gif
sourcediff3.gif
sourcediffwizards.htm
SourceStat.gif
SourceStatResult.gif
sourcestatwizards.htm
srctempeditfrm.gif
srctemplates.gif
srctemplates.htm
srctempmacroform.gif
TabOrder.gif
TabOrderDemo.gif
TabOrderSetup.gif
taborderwizard.htm
toolbar.gif
toolbarcustomize.gif
toolmenu.gif
usescleaner.gif
usescleanerres.gif
wizards.htm
wizhint.gif
wiztipofday.gif
CnWizards.hhc
CnWizards.hhk
CnWizards.hhp
CnWizards_CHT
cnsmr1.gif
cnsmr2.gif
cnsmr3.gif
cnsmr4.gif
cnsmr5.gif
cnsmr6.gif
cnsmr7.gif
cndebug.htm
cndebugviewer.gif
cndebugviewer.htm
senderfilter.gif
settings.gif
ideenhance
capbuttons.gif
cpuwin.htm
cpuwinconf.gif
cpuwinmenu.gif
fastcodeopt.htm
flatform.gif
flatformcustomize.gif
formdesigner.htm
formehnconf.gif
inputhelper.gif
inputhelper.htm
inputhelperconf.gif
inputhelperconf1.gif
inputhelperconf2.gif
inputhelperedit.gif
multilinepal.gif
objinspector.gif
objinspector.htm
palenhconf.gif
palette.htm
searchcomp.gif
srchighlight.gif
srchighlight.htm
srchighlight1.gif
srchighlightconf.gif
srchighlightlineconf.gif
tabsmenu.gif
verenh.htm
verenhconf.gif
wintoproller.gif
wintoproller.htm
gelicense.htm
license.htm
cmdline.htm
create.gif
menuorder.gif
otherconfig.gif
otherconfig.htm
propconfig.gif
propconfig.htm
propcustom.gif
upgrade.gif
upgrade.htm
wizconfig.gif
wizconfig.htm
contact.htm
credits.htm
history.htm
propeditor
propeditor.htm
propsize.gif
propsize.htm
propstring.htm
propstring1.gif
propstring2.gif
srcedtautoro.htm
srcedtautosave.htm
srcedtblockcase.gif
srcedtblockcomment.gif
srcedtblockedit.gif
srcedtblockformat.gif
srcedtblockmisc.gif
srcedtblockreplace.gif
srcedtblockreplaceconf.gif
srcedtblocksearch.gif
srcedtblocksearchconf.gif
srcedtblocktools.gif
srcedtblocktools.htm
srcedtblockwrap.gif
srcedtblockwrapconf.gif
srcedtehnconf1.gif
srcedtehnconf2.gif
srcedtehnconf3.gif
srcedtehnconf4.gif
srcedtenh.htm
srcedtgutter.gif
srcedtgutter.htm
srcedtnav.gif
srcedtnav.htm
srcedtothers.htm
srcedtpopupmenu.gif
srcedtpopupmenu.htm
srcedttab.gif
srcedttab.htm
srcedttbcustomize.gif
srcedttoolbar.gif
srcedttoolbar.htm
asciichart.gif
asciichart.htm
codecomment.gif
editorcodecomment.htm
editorcodedelblank.gif
editorcodedelblank.htm
editorcodeindent.htm
editorcodeswap.htm
editorcodetogglecomment.htm
editorcodetostring.gif
editorcodetostring.htm
editorcodeuncomment.htm
editorcodeunindent.htm
editorcollector.gif
editorcollector.htm
editorfullscreen.gif
editorfullscreen.htm
editorinsertcolor.htm
editorinserttime.htm
editorjumpmsg.htm
editoropenfile.gif
editoropenfile.htm
editorprevmsg.htm
editorsortlines.htm
editortoggleuses.htm
editortogglevar.htm
wizeditorform.gif
wizeditors.htm
cleantmp.htm
dirbuilder.gif
dirbuilder.htm
dirimport.gif
filesnapshot.htm
formslist.gif
formslist.htm
framelist.gif
frameslist.htm
listused.gif
listused.htm
openhisfile.gif
openhisfileop1.gif
openhisfileop2.gif
projbackup.gif
projbackup.htm
projbackupsave.gif
projbackupsave1.gif
projbackupsave2.gif
projectexcleantmp.gif
projectexwizard.gif
projectexwizard.htm
reopener.htm
snapmenu.gif
unitslist.gif
unitslist.htm
uselist.gif
uselist.htm
repository
cnmemprof.htm
cnmemprofform.gif
dunitform.gif
dunitwizard.htm
inifilerform.gif
inifilerwizard.htm
alignsizeconfig.gif
alignsizemenu.gif
alignsizewizards.htm
arrangenonvisual.gif
Bookmark.gif
BookmarkSetup.gif
bookmarkwizards.htm
cnidebrtool.htm
cnidebrtool1.gif
cnidebrtool2.gif
cnidebrtool3.gif
cnidebrtool4.gif
cnidebrtool5.gif
cnidebrtool6.gif
cnidebrtool7.gif
cnidebrtool9.gif
cnmanagewiz.gif
cnmanagewiz.htm
cnproclist.gif
cnproclistwizard.htm
cnusescleaner.htm
commcropper.gif
commcropwizard.htm
ComponentSelector.gif
componentselector.htm
comptocode.gif
corprop.htm
corpropcfg.gif
corpropmain.gif
corproprules.gif
dfm6to5wizards.htm
explorer.gif
explorer.htm
idemenu.gif
listcomp.gif
msdnmenu.gif
msdnsetup.gif
msdntoolbar.gif
msdnwizards.htm
msgboxwizard.gif
msgboxwizardconfig.gif
msgboxwizards.htm
Pas2htmlMenu.gif
Pas2htmlOp1.gif
Pas2htmlOp2.gif
pas2htmlwizards.htm
prefixcomp.gif
prefixconfig.gif
prefixdefine.gif
prefixedit.gif
prefixexe.gif
prefixwizard.htm
Replacewizards.gif
replacewizards.htm
repository.htm
repositorynew.gif
scriptlib.gif
scriptwindow.gif
scriptwizard.htm
sourcediff1.gif
sourcediff2.gif
sourcediff3.gif
sourcediffwizards.htm
SourceStat.gif
SourceStatResult.gif
sourcestatwizards.htm
srctempeditfrm.gif
srctemplates.gif
srctemplates.htm
srctempmacroform.gif
TabOrder.gif
TabOrderDemo.gif
TabOrderSetup.gif
taborderwizard.htm
toolbar.gif
toolbarcustomize.gif
toolmenu.gif
usescleaner.gif
usescleanerres.gif
wizards.htm
wizhint.gif
wiztipofday.gif
CnWizards.hhc
CnWizards.hhk
CnWizards.hhp
CnWizards_ENU
cnsmr1.gif
cnsmr2.gif
cnsmr3.gif
cnsmr4.gif
cnsmr5.gif
cnsmr6.gif
cnsmr7.gif
cndebug.htm
cndebugviewer.gif
cndebugviewer.htm
senderfilter.gif
settings.gif
ideenhance
capbuttons.gif
cpuwin.htm
cpuwinconf.gif
cpuwinmenu.gif
fastcodeopt.htm
flatform.gif
flatformcustomize.gif
formdesigner.htm
formehnconf.gif
inputhelper.gif
inputhelper.htm
inputhelperconf.gif
inputhelperconf1.gif
inputhelperconf2.gif
inputhelperedit.gif
multilinepal.gif
objinspector.gif
objinspector.htm
palenhconf.gif
palette.htm
searchcomp.gif
srchighlight.gif
srchighlight.htm
srchighlight1.gif
srchighlightconf.gif
srchighlightlineconf.gif
tabsmenu.gif
verenh.htm
verenhconf.gif
wintoproller.gif
wintoproller.htm
gelicense.htm
license.htm
cmdline.htm
create.gif
menuorder.gif
otherconfig.gif
otherconfig.htm
propconfig.gif
propconfig.htm
propcustom.gif
upgrade.gif
upgrade.htm
wizconfig.gif
wizconfig.htm
contact.htm
credits.htm
history.htm
propeditor
propeditor.htm
propsize.gif
propsize.htm
propstring.htm
propstring1.gif
propstring2.gif
srcedtautoro.htm
srcedtautosave.htm
srcedtblockcase.gif
srcedtblockcomment.gif
srcedtblockedit.gif
srcedtblockformat.gif
srcedtblockmisc.gif
srcedtblockreplace.gif
srcedtblockreplaceconf.gif
srcedtblocksearch.gif
srcedtblocksearchconf.gif
srcedtblocktools.gif
srcedtblocktools.htm
srcedtblockwrap.gif
srcedtblockwrapconf.gif
srcedtehnconf1.gif
srcedtehnconf2.gif
srcedtehnconf3.gif
srcedtehnconf4.gif
srcedtenh.htm
srcedtgutter.gif
srcedtgutter.htm
srcedtnav.gif
srcedtnav.htm
srcedtothers.htm
srcedtpopupmenu.gif
srcedtpopupmenu.htm
srcedttab.gif
srcedttab.htm
srcedttbcustomize.gif
srcedttoolbar.gif
srcedttoolbar.htm
asciichart.gif
asciichart.htm
codecomment.gif
editorcodecomment.htm
editorcodedelblank.gif
editorcodedelblank.htm
editorcodeindent.htm
editorcodeswap.htm
editorcodetogglecomment.htm
editorcodetostring.gif
editorcodetostring.htm
editorcodeuncomment.htm
editorcodeunindent.htm
editorcollector.gif
editorcollector.htm
editorfullscreen.gif
editorfullscreen.htm
editorinsertcolor.htm
editorinserttime.htm
editorjumpmsg.htm
editoropenfile.gif
editoropenfile.htm
editorprevmsg.htm
editorsortlines.htm
editortoggleuses.htm
editortogglevar.htm
wizeditorform.gif
wizeditors.htm
cleantmp.htm
dirbuilder.gif
dirbuilder.htm
dirimport.gif
filesnapshot.htm
formslist.gif
formslist.htm
framelist.gif
frameslist.htm
listused.gif
listused.htm
openhisfile.gif
openhisfileop1.gif
openhisfileop2.gif
projbackup.gif
projbackup.htm
projbackupsave.gif
projbackupsave1.gif
projbackupsave2.gif
projectexcleantmp.gif
projectexwizard.gif
projectexwizard.htm
reopener.htm
snapmenu.gif
unitslist.gif
unitslist.htm
uselist.gif
uselist.htm
repository
cnmemprof.htm
cnmemprofform.gif
dunitform.gif
dunitwizard.htm
inifilerform.gif
inifilerwizard.htm
alignsizeconfig.gif
alignsizemenu.gif
alignsizewizards.htm
arrangenonvisual.gif
Bookmark.gif
BookmarkSetup.gif
bookmarkwizards.htm
cnidebrtool.htm
cnidebrtool1.gif
cnidebrtool2.gif
cnidebrtool3.gif
cnidebrtool4.gif
cnidebrtool5.gif
cnidebrtool6.gif
cnidebrtool7.gif
cnidebrtool9.gif
cnmanagewiz.gif
cnmanagewiz.htm
cnproclist.gif
cnproclistwizard.htm
cnusescleaner.htm
commcropper.gif
commcropwizard.htm
ComponentSelector.gif
componentselector.htm
comptocode.gif
corprop.htm
corpropcfg.gif
corpropmain.gif
corproprules.gif
dfm6to5wizards.htm
explorer.gif
explorer.htm
idemenu.gif
listcomp.gif
msdnmenu.gif
msdnsetup.gif
msdntoolbar.gif
msdnwizards.htm
msgboxwizard.gif
msgboxwizardconfig.gif
msgboxwizards.htm
Pas2htmlMenu.gif
Pas2htmlOp1.gif
Pas2htmlOp2.gif
pas2htmlwizards.htm
prefixcomp.gif
prefixconfig.gif
prefixdefine.gif
prefixedit.gif
prefixexe.gif
prefixwizard.htm
Replacewizards.gif
replacewizards.htm
repository.htm
repositorynew.gif
scriptlib.gif
scriptwindow.gif
scriptwizard.htm
sourcediff1.gif
sourcediff2.gif
sourcediff3.gif
sourcediffwizards.htm
SourceStat.gif
SourceStatResult.gif
sourcestatwizards.htm
srctempeditfrm.gif
srctemplates.gif
srctemplates.htm
srctempmacroform.gif
TabOrder.gif
TabOrderDemo.gif
TabOrderSetup.gif
taborderwizard.htm
toolbar.gif
toolbarcustomize.gif
toolmenu.gif
usescleaner.gif
usescleanerres.gif
wizards.htm
wizhint.gif
wiztipofday.gif
CnWizards.hhc
CnWizards.hhk
CnWizards.hhp
update.ini
cnpack.bmp
CnWizards_Install.nsi
Readme.txt
release.inc
release.template.inc
release.ini
WantUI.exe
CodeFormater
Unit Compile Dir.txt
Credit.txt
fBracketProp.dfm
fFormTest.dfm
CnCodeFormaterTest.dfm
CnCodeFormaterTestPrj.dof
CnCodeFormaterTestPrj.dpr
CnCodeFormaterTestPrj.res
ProgramTest.dpr
Readme.txt
CnWizConfigFrm.dfm
CnWizMenuSortFrm.dfm
CnWizSubActionShortCutFrm.dfm
CorProperty
CnCorPropCfgFrm.dfm
CnCorPropFrm.dfm
CnCorPropRulesFrm.dfm
DesignEditors
CnAlignPropEditor.res
CnHintEditorFrm.dfm
CnMultiLineEditorFrm.dfm
CnMultiLineEdtToolOptFrm.dfm
CnMultiLineEdtUserFmtFrm.dfm
CnPropEditorCustomizeFrm.dfm
CnSizeConstraintsEditorFrm.dfm
EditorTabSet
CnLocalHistoryWizard.dfm
CnWizEdtTabSetFrm.dfm
EditorWizard
CnAsciiChart.dfm
CnEditorCodeComment.dfm
CnEditorCodeDelBlank.dfm
CnEditorCodeToString.dfm
CnEditorCollector.dfm
CnEditorInsertTime.dfm
CnEditorWizard.dfm
CnEditorZoomFullScreen.dfm
ExplorerWizard
CnExplore.dfm
CnExploreDirectory.dfm
CnExploreFilter.dfm
CnExploreFilterEditor.dfm
FavoriteWizard
CnAddToFavoriteFrm.dfm
CnManageFavoriteFrm.dfm
IdeEnhancements
CnCompFilterFrm.dfm
CnCpuWinEnhanceFrm.dfm
CnFlatToolbarConfigFrm.dfm
CnFormEnhancements.dfm
CnHighlightLineFrm.dfm
CnInputHelperEditFrm.dfm
CnInputHelperFrm.dfm
CnPaletteEnhanceFrm.dfm
CnSourceHighlightFrm.dfm
CnVerEnhanceFrm.dfm
CnWinTopRoller.dfm
CnWizAboutFrm.dfm
CnWizBoot.dfm
CnWizCommentFrm.dfm
CnWizFeedbackFrm.dfm
CnWizShareImages.dfm
CnWizTipOfDayFrm.dfm
CnWizUpgradeFrm.dfm
CnWizMultiLang.dfm
PrefixWizard
CnPrefixCompFrm.dfm
CnPrefixConfigFrm.dfm
CnPrefixEditFrm.dfm
CnPrefixExecuteFrm.dfm
CnPrefixNewFrm.dfm
ProjectExtWizard
CnProjectBackupFrm.dfm
CnProjectBackupSaveFrm.dfm
CnProjectDelTempFrm.dfm
CnProjectDirBuilderFrm.dfm
CnProjectDirImportFrm.dfm
CnProjectFramesFrm.dfm
CnProjectListUsedFrm.dfm
CnProjectUseUnitsFrm.dfm
CnProjectViewBaseFrm.dfm
CnProjectViewFormsFrm.dfm
CnProjectViewUnitsFrm.dfm
ReopenWizard
CnFilesSnapshotManageFrm.dfm
CnRoFilesList.dfm
CnRoFrmFileList.dfm
CnRoOptions.dfm
RepositoryWiz
CnDUnitSetFrm.dfm
CnIniFilerFrm.dfm
CnMemProfWizard.dfm
ScriptWizard
CnScriptFrm.dfm
CnScriptWizard.dfm
SimpleWizards
CnAlignSizeWizard.dfm
CnBookmarkConfigFrm.dfm
CnBookmarkWizard.dfm
CnCommentCropper.dfm
CnComponentSelector.dfm
CnCompToCodeFrm.dfm
CnListCompFrm.dfm
CnMessageBoxWizard.dfm
CnMsdnWizard.dfm
CnPas2HtmlConfigFrm.dfm
CnPas2HtmlWizard.dfm
CnPasConvertTypeFrm.dfm
CnProcListWizard.dfm
CnReplaceWizard.dfm
CnTabOrderWizard.dfm
CnUsesCleaner.dfm
CnUsesCleanResultFrm.dfm
SourceDiff
CnDiffEditorFrm.dfm
CnSourceDiffFrm.dfm
SourceStat
CnStatFrm.dfm
CnStatResultFrm.dfm
SrcEditorEnhance
CnSrcEditorCodeWrap.dfm
CnSrcEditorEnhance.dfm
CnSrcEditorGroupReplace.dfm
CnSrcEditorWebSearch.dfm
SrcTemplate
CnSrcTemplate.dfm
CnSrcTemplateEditFrm.dfm
ThirdParty
README.TXT
D7PosEx.inc
FastCode.inc
Project1.dpr
D7PosEx.inc
FastCode.inc
Readme.txt
Version.History.txt
crossplatform.inc
windowsonly.inc
PascalScript
BuildPackages_D10.bdsgroup
BuildPackages_D6.bpg
BuildPackages_D7.bpg
BuildPackages_D9.bdsgroup
Changes.txt
eDefines.inc
License.txt
Pascal Script.ico
PascalScript.inc
PascalScript_Core_D10.bdsproj
PascalScript_Core_D10.cfg
PascalScript_Core_D10.dpk
PascalScript_Core_D10.res
PascalScript_Core_D3.dof
PascalScript_Core_D3.dpk
PascalScript_Core_D4.dof
PascalScript_Core_D4.dpk
PascalScript_Core_D5.dof
PascalScript_Core_D5.dpk
PascalScript_Core_D6.dof
PascalScript_Core_D6.dpk
PascalScript_Core_D6.res
PascalScript_Core_D7.dof
PascalScript_Core_D7.dpk
PascalScript_Core_D7.res
PascalScript_Core_D9.bdsproj
PascalScript_Core_D9.cfg
PascalScript_Core_D9.dpk
PascalScript_Core_D9.res
PascalScript_Core_Glyphs.RES
PascalScript_Core_K3.dpk
PascalScript_Core_K3.kof
PascalScript_RO_D10.bdsproj
PascalScript_RO_D10.cfg
PascalScript_RO_D10.dpk
PascalScript_RO_D6.dof
PascalScript_RO_D6.dpk
PascalScript_RO_D6.res
PascalScript_RO_D7.dof
PascalScript_RO_D7.dpk
PascalScript_RO_D7.res
PascalScript_RO_D9.bdsproj
PascalScript_RO_D9.cfg
PascalScript_RO_D9.dpk
PascalScript_RO_Glyphs.RES
README.html
TPAbbrevia
AbDefine.inc
mxCaptionBarButtons.res
CnWizIdeDock.dfm
CnWizMacroFrm.dfm
CnPack.inc
CnWizards.inc
CnWizards.template.rc
CnWizards_CB5.bpf
CnWizards_CB5.bpr
CnWizards_CB5.res
CnWizards_CB6.bpf
CnWizards_CB6.bpr
CnWizards_CB6.res
CnWizards_D10.bdsproj
CnWizards_D10.cfg
CnWizards_D10.dpr
CnWizards_D10.res
CnWizards_D11.cfg
CnWizards_D11.dpr
CnWizards_D11.dproj
CnWizards_D11.res
CnWizards_D12.cfg
CnWizards_D12.dpr
CnWizards_D12.dproj
CnWizards_D12.res
CnWizards_D5.cfg
CnWizards_D5.dof
CnWizards_D5.dpr
CnWizards_D5.res
CnWizards_D6.cfg
CnWizards_D6.dof
CnWizards_D6.dpr
CnWizards_D6.res
CnWizards_D7.cfg
CnWizards_D7.dof
CnWizards_D7.dpr
CnWizards_D7.res
CnWizards_D8.cfg
CnWizards_D8.dof
CnWizards_D8.dpr
CnWizards_D8.res
CnWizards_D9.bdsproj
CnWizards_D9.cfg
CnWizards_D9.dpr
CnWizards_D9.res
Version.inc
Version.template.inc
CnTestCmdRecv.dfm
CnTestCmdRecvProj.cfg
CnTestCmdRecvProj.dof
CnTestCmdRecvProj.dpr
CnTestCmdRecvProj.res
CnTestCmdSend.dfm
CnTestCmdSendPrj.cfg
CnTestCmdSendPrj.dof
CnTestCmdSendPrj.dpr
CnTestCmdSendPrj.res
CnTestPas2Html.cfg
CnTestPas2Html.dof
CnTestPas2Html.dpr
CnTestPas2Html.dproj
CnTestPas2Html.res
CnTestPas2HtmlFrm.dfm
Readme.txt
CnAsciiChart
AsciiChart.cfg
AsciiChart.dof
AsciiChart.dpr
AsciiChart.res
CnConfigIO
CnConfigIO.cfg
CnConfigIO.dof
CnConfigIO.dpr
CnConfigIO.res
ConfigIO.dfm
CnCustBuild
CnBuildFrm.dfm
CnCustBuild.cfg
CnCustBuild.dof
CnCustBuild.dpr
CnCustBuild.res
CnDebugViewer
VirtualTree
VirtualTrees.res
VTCompilers.inc
CnDebugViewer.cfg
CnDebugViewer.dof
CnDebugViewer.dpr
CnDebugViewer.res
CnFilterFrm.dfm
CnMdiView.dfm
CnViewMain.dfm
CnViewOption.dfm
CnDfm6To5.cfg
CnDfm6To5.dof
CnDfm6To5.dpr
CnDfm6To5.res
CnDTMainFrm.dfm
CnIdeBRTool
CnBHMain.dfm
CnIdeBRTool.cfg
CnIdeBRTool.dof
CnIdeBRTool.dpr
CnIdeBRTool.res
CnManageWiz
CnManageWiz.cfg
CnManageWiz.dof
CnManageWiz.dpr
CnManageWiz.res
CnManWizForm.dfm
CnSelectLang
CnSelectLang.cfg
CnSelectLang.dof
CnSelectLang.dpr
CnSelectLang.res
CnSelLang.dfm
CnAboutUnit.dfm
CnDirListFrm.dfm
CnEditARFUnit.dfm
CnEditSMRUnit.dfm
CnMainUnit.dfm
CnSelectMaskFrm.dfm
CnTextPreviewFrm.dfm
CnViewARFUnit.dfm
CnViewSMRUnit.dfm
CnWizRes.cfg
CnWizRes.dof
CnWizRes.dpr
CnWizRes.res
CnWizResGen.cfg
CnWizResGen.dof
CnWizResGen.dpr
CnWizSetup
SetupRes.res
CnDll.template.rc
CnTools.template.rc
CnTools_D5.bpg
Readme.txt
License.chs.txt
License.cht.txt
License.enu.txt
Readme.chs.txt
Readme.cht.txt
Readme.enu.txt
源码爱好者.url
{$I PascalScript.inc}
SysUtils, Classes, uPSRuntime, uPSDebugger, uPSUtils,
uPSCompiler, uPSC_dll, uPSR_dll, uPSPreP
{alias to @link(ifps3.cdRegister)}
cdRegister = uPSRuntime.cdR
{alias to @link(ifps3.cdPascal)}
cdPascal = uPSRuntime.cdP
CdCdecl = uPSRuntime.CdC
CdStdCall = uPSRuntime.CdStdC
TPSScript =
TDelphiCallingConvention = uPSRuntime.TPSCallingC
{Alias to @link(ifps3.TPSRuntimeClassImporter)}
TPSRuntimeClassImporter = uPSRuntime.TPSRuntimeClassI
TPSPlugin = class(TComponent)
procedure CompOnUses(CompExec: TPSScript);
procedure ExecOnUses(CompExec: TPSScript);
procedure CompileImport1(CompExec: TPSScript);
procedure CompileImport2(CompExec: TPSScript);
procedure ExecImport1(CompExec: TPSS const ri: TPSRuntimeClassImporter);
procedure ExecImport2(CompExec: TPSS const ri: TPSRuntimeClassImporter);
TIFPS3Plugin = class(TPSPlugin);
TPSDllPlugin = class(TPSPlugin)
procedure CompOnUses(CompExec: TPSScript);
procedure ExecOnUses(CompExec: TPSScript);
TIFPS3DllPlugin = class(TPSDllPlugin);
TPSPluginItem = class(TCollectionItem)
FPlugin: TPSP
procedure SetPlugin(const Value: TPSPlugin);
function GetDisplayName:
procedure Assign(Source: TPersistent); //Birb
property Plugin: TPSPlugin read FPlugin write SetP
TIFPS3CEPluginItem = class(TPSPluginItem);
TPSPlugins = class(TCollection)
FCompExec: TPSS
function GetOwner: TP
constructor Create(CE: TPSScript);
TIFPS3CEPlugins = class(TPSPlugins);
TPSOnGetNotVariant = function (Sender: TPSS const Name: string): V
TPSOnSetNotVariant = procedure (Sender: TPSS const Name: V: Variant)
TPSCompOptions = set of (icAllowNoBegin, icAllowUnit, icAllowNoEnd, icBooleanShortCircuit);
TPSVerifyProc = procedure (Sender: TPSS Proc: TPSInternalP const Decl: var Error: Boolean)
TPSEvent = procedure (Sender: TPSScript)
TPSOnCompImport = procedure (Sender: TO x: TPSPascalCompiler)
TPSOnExecImport = procedure (Sender: TO se: TPSE x: TPSRuntimeClassImporter)
{Script engine event function}
TPSOnNeedFile = function (Sender: TO const OrginFileName: var FileName, Output: string): B
TPSOnProcessDirective = procedure (
Sender: TPSPreP
Parser: TPSPascalPreProcessorP
const Active: B
const DirectiveName, DirectiveParam: S
Var Continue: Boolean) of O
TPSScript = class(TComponent)
FOnGetNotificationVariant: TPSOnGetNotV
FOnSetNotificationVariant: TPSOnSetNotV
FCanAdd: B
FComp: TPSPascalC
FCompOptions: TPSCompO
FExec: TPSDebugE
FSuppressLoadData: B
FScript: TS
FOnLine: TNotifyE
FUseDebugInfo: B
FOnAfterExecute, FOnCompile, FOnExecute: TPSE
FOnCompImport: TPSOnCompI
FOnExecImport: TPSOnExecI
RI: TPSRuntimeClassI
FPlugins: TPSP
FPP: TPSPreP
FMainFileName:
FOnNeedFile: TPSOnNeedF
FUsePreProcessor: B
FDefines: TS
FOnVerifyProc: TPSVerifyP
FOnProcessDirective: TPSOnProcessD
FOnProcessUnknowDirective: TPSOnProcessD
function GetRunning: B
procedure SetScript(const Value: TStrings);
function GetCompMsg(i: Integer): TPSPascalCompilerM
function GetCompMsgCount: L
function GetAbout:
function ScriptUses(Sender: TPSPascalC const Name: string): B
function GetExecErrorByteCodePosition: C
function GetExecErrorCode: TIFE
function GetExecErrorParam:
function GetExecErrorProcNo: C
function GetExecErrorString:
function GetExecErrorPosition: C
function GetExecErrorCol: C
function GetExecErrorRow: C
function GetExecErrorFileName:
procedure SetDefines(const Value: TStrings);
procedure Notification(AComponent: TC Operation: TOperation);
//jgv move where private before - not very usefull
procedure OnLineE
procedure SetMainFileName(const Value: string);
//--jgv new
DoOnNeedFile (Sender: TO const OrginFileName: var FileName, Output: string): B
DoOnUnknowUses (Sender: TPSPascalC const Name: string): B // return true if processed
procedure DoOnCompI
procedure DoOnC
DoVerifyProc (Sender: TPSS Proc: TPSInternalP const Decl: string): B
procedure DoOnExecImport (RunTimeImporter: TPSRuntimeClassImporter);
procedure DoOnExecute (RunTimeImporter: TPSRuntimeClassImporter);
procedure DoAfterE
DoOnGetNotificationVariant (const Name: string): V
procedure DoOnSetNotificationVariant (const Name: V: Variant);
procedure DoOnProcessDirective (Sender: TPSPreP
Parser: TPSPascalPreProcessorP
const Active: B
const DirectiveName, DirectiveParam: S
Var Continue: Boolean);
procedure DoOnProcessUnknowDirective (Sender: TPSPreP
Parser: TPSPascalPreProcessorP
const Active: B
const DirectiveName, DirectiveParam: S
Var Continue: Boolean);
function FindNamedType(const Name: string): TPSTypeR
function FindBaseType(Bt: TPSBaseType): TPSTypeR
property SuppressLoadData: Boolean read FSuppressLoadData write FSuppressLoadD
function LoadExec: B
procedure S
constructor Create(AOwner: TComponent);
destructor D
function Compile: B
function Execute: B
property Running: Boolean read GetR
procedure GetCompiled(var data: string);
procedure SetCompiled(const Data: string);
property Comp: TPSPascalCompiler read FC
property Exec: TPSDebugExec read FE
property CompilerMessageCount: Longint read GetCompMsgC
property CompilerMessages[i: Longint]: TPSPascalCompilerMessage read GetCompM
function CompilerErrorToStr(I: Longint):
property ExecErrorCode: TIFError read GetExecErrorC
property ExecErrorParam: string read GetExecErrorP
property ExecErrorToString: string read GetExecErrorS
property ExecErrorProcNo: Cardinal read GetExecErrorProcNo;
property ExecErrorByteCodePosition: Cardinal read GetExecErrorByteCodeP
property ExecErrorPosition: Cardinal read GetExecErrorP
property ExecErrorRow: Cardinal read GetExecErrorR
property ExecErrorCol: Cardinal read GetExecErrorC
property ExecErrorFileName: string read GetExecErrorFileN
function AddFunctionEx(Ptr: P const Decl: CallingConv: TDelphiCallingConvention): B
function AddFunction(Ptr: P const Decl: string): B
function AddMethodEx(Slf, Ptr: P const Decl: CallingConv: TDelphiCallingConvention): B
function AddMethod(Slf, Ptr: P const Decl: string): B
function AddRegisteredVariable(const VarName, VarType: string): B
function AddNotificationVariant(const VarName: string): B
function AddRegisteredPTRVariable(const VarName, VarType: string): B
function GetVariable(const Name: string): PIFV
function SetVarToInstance(const VarName: cl: TObject): B
procedure SetPointerToData(const VarName: Data: P aType: TIFTypeRec);
function TranslatePositionPos(Proc, Position: C var Pos: C var fn: string): B
function TranslatePositionRC(Proc, Position: C var Row, Col: C var fn: string): B
function GetProcMethod(const ProcName: string): TM
function ExecuteFunction(const Params: array of V const ProcName: string): V
property About: string read GetA
property Script: TStrings read FScript write SetS
property CompilerOptions: TPSCompOptions read FCompOptions write FCompO
property OnLine: TNotifyEvent read FOnLine write FOnL
property OnCompile: TPSEvent read FOnCompile write FOnC
property OnExecute: TPSEvent read FOnExecute write FOnE
property OnAfterExecute: TPSEvent read FOnAfterExecute write FOnAfterE
property OnCompImport: TPSOnCompImport read FOnCompImport write FOnCompI
property OnExecImport: TPSOnExecImport read FOnExecImport write FOnExecI
property UseDebugInfo: Boolean read FUseDebugInfo write FUseDebugInfo default T
property Plugins: TPSPlugins read FPlugins write FP
property MainFileName: string read FMainFileName write SetMainFileN
property UsePreProcessor: Boolean read FUsePreProcessor write FUsePreP
property OnNeedFile: TPSOnNeedFile read FOnNeedFile write FOnNeedF
property Defines: TStrings read FDefines write SetD
property OnVerifyProc: TPSVerifyProc read FOnVerifyProc write FOnVerifyP
property OnGetNotificationVariant: TPSOnGetNotVariant read FOnGetNotificationVariant write FOnGetNotificationV
property OnSetNotificationVariant: TPSOnSetNotVariant read FOnSetNotificationVariant write FOnSetNotificationV
property OnProcessDirective: TPSOnProcessDirective read FOnProcessDirective write FOnProcessD
property OnProcessUnknowDirective: TPSOnProcessDirective read FOnProcessUnknowDirective write FOnProcessUnknowD
TIFPS3CompExec = class(TPSScript);
TPSBreakPointInfo = class
FFileNameHash: L
FFileName:
procedure SetFileName(const Value: string);
property FileName: string read FFileName write SetFileN
property FileNameHash: Longint read FFileNameH
property Line: Longint read FLine write FL
TPSOnLineInfo = procedure (Sender: TO const FileName: Position, Row, Col: Cardinal)
TPSScriptDebugger = class(TPSScript)
FOnIdle: TNotifyE
FBreakPoints: TIFL
FOnLineInfo: TPSOnLineI
FLastRow: C
FOnBreakpoint: TPSOnLineI
function GetBreakPoint(I: Integer): TPSBreakPointI
function GetBreakPointCount: L
procedure SetMainFileName(const Value: string);
constructor Create(AOwner: TComponent);
destructor D
procedure P
procedure R
procedure StepI
procedure StepO
procedure SetBreakPoint(const Fn: Line: Longint);
procedure ClearBreakPoint(const Fn: Line: Longint);
property BreakPointCount: Longint read GetBreakPointC
property BreakPoint[I: Longint]: TPSBreakPointInfo read GetBreakP
function HasBreakPoint(const Fn: Line: Longint): B
procedure ClearBreakP
function GetVarContents(const Name: string):
property OnIdle: TNotifyEvent read FOnIdle write FOnI
property OnLineInfo: TPSOnLineInfo read FOnLineInfo write FOnLineI
property OnBreakpoint: TPSOnLineInfo read FOnBreakpoint write FOnB
TIFPS3DebugCompExec = class(TPSScriptDebugger);
implementation
{$IFDEF DELPHI3UP }
resourceString
RPS_UnableToReadVariant = 'Unable to read variant';
RPS_UnableToWriteVariant = 'Unable to write variant';
RPS_ScripEngineAlreadyRunning = 'Script engine already running';
RPS_ScriptNotCompiled = 'Script is not compiled';
RPS_NotRunning = 'Not running';
RPS_UnableToFindVariable = 'Unable to find variable';
RPS_UnknownIdentifier = 'Unknown Identifier';
RPS_NoScript = 'No script';
function MyGetVariant(Sender: TPSE const Name: string): V
Result := TPSScript (Sender.Id).DoOnGetNotificationVariant(Name);
procedure MySetVariant(Sender: TPSE const Name: V: Variant);
TPSScript (Sender.Id).DoOnSetNotificationVariant(Name, V);
function CompScriptUses(Sender: TPSPascalC const Name: string): B
Result := TPSScript(Sender.ID).ScriptUses(Sender, Name);
procedure ExecOnLine(Sender: TPSExec);
if assigned(TPSScript(Sender.ID).FOnLine) then
TPSScript(Sender.ID).OnLineE
function CompExportCheck(Sender: TPSPascalC Proc: TPSInternalP const ProcDecl: string): B
Result := TPSScript(Sender.ID).DoVerifyProc (Sender.ID, Proc, ProcDecl);
procedure callObjectOnProcessDirective (
Sender: TPSPreP
Parser: TPSPascalPreProcessorP
const Active: B
const DirectiveName, DirectiveParam: S
Var Continue: Boolean);
TPSScript (Sender.ID).DoOnProcessUnknowDirective(Sender, Parser, Active, DirectiveName, DirectiveParam, Continue);
procedure callObjectOnProcessUnknowDirective (
Sender: TPSPreP
Parser: TPSPascalPreProcessorP
const Active: B
const DirectiveName, DirectiveParam: S
Var Continue: Boolean);
TPSScript (Sender.ID).DoOnProcessDirective(Sender, Parser, Active, DirectiveName, DirectiveParam, Continue);
{ TPSPlugin }
pileImport1(CompExec: TPSScript);
// do nothing
pileImport2(CompExec: TPSScript);
// do nothing
pOnUses(CompExec: TPSScript);
// do nothing
procedure TPSPlugin.ExecImport1(CompExec: TPSS const ri: TPSRuntimeClassImporter);
// do nothing
procedure TPSPlugin.ExecImport2(CompExec: TPSS const ri: TPSRuntimeClassImporter);
// do nothing
procedure TPSPlugin.ExecOnUses(CompExec: TPSScript);
// do nothing
{ TPSScript }
function TPSScript.AddFunction(Ptr: P
const Decl: string): B
Result := AddFunctionEx(Ptr, Decl, cdRegister);
function TPSScript.AddFunctionEx(Ptr: P const Decl:
CallingConv: TDelphiCallingConvention): B
P: TPSRegP
if not FCanAdd then begin Result := F
p := Comp.AddDelphiFunction(Decl);
if p && nil then
Exec.RegisterDelphiFunction(Ptr, p.Name, CallingConv);
Result := T
end else Result := F
function TPSScript.AddRegisteredVariable(const VarName,
VarType: string): B
FVar: TPSV
if not FCanAdd then begin Result := F
FVar := FComp.AddUsedVariableN(varname, vartype);
if fvar = nil then
result := False
else begin
fvar.exportname := fvar.N
Result := T
function CENeedFile(Sender: TPSPreP const callingfilename: var FileName, Output: string): B
Result := TPSScript (Sender.ID).DoOnNeedFile(Sender.ID, CallingFileName, FileName, Output);
procedure CompTranslateLineInfo(Sender: TPSPascalC var Pos, Row, Col: C var Name: string);
res: TPSLineInfoR
if TPSScript(Sender.ID).FPP.CurrentLineInfo.GetLineInfo(Pos, Res) then
Pos := Res.P
Row := Res.R
Col := Res.C
Name := Res.N
FExec.CMD_Err(erNoError);
FExec.ClearspecialProcI
FExec.ClearFunctionL
if ri && nil then
RI := TPSRuntimeClassImporter.C
for i := 0 to FPlugins.Count -1 do
if TPSPluginItem(FPlugins.Items[i]) && nil then
TPSPluginItem(FPlugins.Items[i]).Plugin.ExecImport1(Self, ri);
DoOnExecImport (RI);
for i := 0 to FPlugins.Count -1 do
if TPSPluginItem(FPlugins.Items[i]) && nil then
TPSPluginItem(FPlugins.Items[i]).Plugin.ExecImport2(Self, ri);
RegisterClassLibraryRuntime(Exec, RI);
for i := 0 to FPlugins.Count -1 do
TPSPluginItem(FPlugins.Items[i]).Plugin.ExecOnUses(Self);
FCanAdd := T
FComp.BooleanShortCircuit := icBooleanShortCircuit in FCompO
FComp.AllowNoBegin := icAllowNoBegin in FCompO
FComp.AllowUnit := icAllowUnit in FCompO
FComp.AllowNoEnd := icAllowNoEnd in FCompO
if FUsePreProcessor then
FPP.Defines.Assign(FDefines);
FComp.OnTranslateLineInfo := CompTranslateLineI
Fpp.OnProcessDirective := callObjectOnProcessD
Fpp.OnProcessUnknowDirective := callObjectOnProcessUnknowD
Fpp.MainFile := FScript.T
Fpp.MainFileName := FMainFileN
Fpp.PreProcess(FMainFileName, dta);
pile(dta) then
FCanAdd := F
if (not SuppressLoadData) and (not LoadExec) then
Result := F
Result := T
end else Result := F
Fpp.AdjustMessages(Comp);
FComp.OnTranslateLineInfo :=
pile(FScript.Text) then
FCanAdd := F
if not LoadExec then
Result := F
Result := T
end else Result := F
pilerErrorToStr(I: Integer):
Result := CompilerMessages[i].MessageToS
constructor TPSScript.Create(AOwner: TComponent);
inherited Create(AOwner);
FComp := TPSPascalCompiler.C
FExec := TPSDebugExec.C
FScript := TStringList.C
FPlugins := TPSPlugins.Create(self);
FComp.ID := S
FComp.OnUses := CompScriptU
FComp.OnExportCheck := CompExportC
FExec.Id := S
FExec.OnRunLine:= ExecOnL
FExec.OnGetNVariant := MyGetV
FExec.OnSetNVariant := MySetV
FUseDebugInfo := T
FPP := TPSPreProcessor.C
FPP.Id := S
FPP.OnNeedFile := CENeedF
FDefines := TStringList.C
destructor TPSScript.D
FDefines.F
FPlugins.F
inherited D
function TPSScript.Execute: B
if Running then raise Exception.Create(RPS_ScripEngineAlreadyRunning);
if SuppressLoadData then
DoOnExecute (RI);
FExec.DebugEnabled := FUseDebugI
Result := FExec.RunScript and (FExec.ExceptionCode = erNoError) ;
function TPSScript.GetAbout:
Result := TPSExec.A
procedure TPSScript.GetCompiled(var data: string);
if not FComp.GetOutput(Data) then
raise Exception.Create(RPS_ScriptNotCompiled);
function TPSScript.GetCompMsg(i: Integer): TPSPascalCompilerM
Result := FComp.Msg[i];
function TPSScript.GetCompMsgCount: L
Result := FComp.MsgC
function TPSScript.GetExecErrorByteCodePosition: C
Result := Exec.ExceptionP
function TPSScript.GetExecErrorCode: TIFE
Result := Exec.ExceptionC
function TPSScript.GetExecErrorParam:
Result := Exec.ExceptionS
function TPSScript.GetExecErrorPosition: C
Result := FExec.TranslatePosition(Exec.ExceptionProcNo, Exec.ExceptionPos);
function TPSScript.GetExecErrorProcNo: C
Result := Exec.ExceptionProcNo;
function TPSScript.GetExecErrorString:
Result := TIFErrorToString(Exec.ExceptionCode, Exec.ExceptionString);
function TPSScript.GetVariable(const Name: string): PIFV
Result := FExec.GetVar2(name);
function TPSScript.LoadExec: B
if (not FComp.GetOutput(s)) or (not FExec.LoadData(s)) then
Result := F
if FUseDebugInfo then
FComp.GetDebugOutput(s);
FExec.LoadDebugData(s);
Result := T
function TPSScript.ScriptUses(Sender: TPSPascalC
const Name: string): B
if Name = 'SYSTEM' then
for i := 0 to FPlugins.Count -1 do
TPSPluginItem(FPlugins.Items[i]).pOnUses(Self);
for i := 0 to FPlugins.Count -1 do
TPSPluginItem(FPlugins.Items[i]).pileImport1(self);
for i := 0 to FPlugins.Count -1 do
TPSPluginItem(FPlugins.Items[i]).pileImport2(Self);
Result := T
else begin
Result := DoOnUnknowUses (Sender, Name);
If Not Result then
Sender.MakeError('', ecUnknownIdentifier, Name);
procedure TPSScript.SetCompiled(const Data: string);
FExec.ClearspecialProcI
FExec.ClearFunctionL
if ri && nil then
RI := TPSRuntimeClassImporter.C
for i := 0 to FPlugins.Count -1 do
if TPSPluginItem(FPlugins.Items[i]) && nil then
TPSPluginItem(FPlugins.Items[i]).Plugin.ExecImport1(Self, ri);
DoOnExecImport(RI);
for i := 0 to FPlugins.Count -1 do
if TPSPluginItem(FPlugins.Items[i]) && nil then
TPSPluginItem(FPlugins.Items[i]).Plugin.ExecImport2(Self, ri);
RegisterClassLibraryRuntime(Exec, RI);
for i := 0 to FPlugins.Count -1 do
TPSPluginItem(FPlugins.Items[i]).Plugin.ExecOnUses(Self);
if not FExec.LoadData(Data) then
raise Exception.Create(GetExecErrorString);
function TPSScript.SetVarToInstance(const VarName: cl: TObject): B
p := GetVariable(VarName);
if p && nil then
SetVariantToClass(p, cl);
end else result :=
procedure TPSScript.SetScript(const Value: TStrings);
FScript.Assign(Value);
function TPSScript.AddMethod(Slf, Ptr: P
const Decl: string): B
Result := AddMethodEx(Slf, Ptr, Decl, cdRegister);
function TPSScript.AddMethodEx(Slf, Ptr: P const Decl:
CallingConv: TDelphiCallingConvention): B
P: TPSRegP
if not FCanAdd then begin Result := F
p := Comp.AddDelphiFunction(Decl);
if p && nil then
Exec.RegisterDelphiMethod(Slf, Ptr, p.Name, CallingConv);
Result := T
end else Result := F
procedure TPSScript.OnLineE
if @FOnLine && nil then FOnLine(Self);
function TPSScript.GetRunning: B
Result := FExec.Status = isR
function TPSScript.GetExecErrorCol: C
if not TranslatePositionRC(Exec.ExceptionProcNo, Exec.ExceptionPos, D1, Result, s) then
Result := 0;
function TPSScript.TranslatePositionPos(Proc, Position: C
var Pos: C var fn: string): B
Result := Exec.TranslatePositionEx(Exec.ExceptionProcNo, Exec.ExceptionPos, Pos, D1, D2, fn);
function TPSScript.TranslatePositionRC(Proc, Position: C
var Row, Col: C var fn: string): B
Result := Exec.TranslatePositionEx(Proc, Position, d1, Row, Col, fn);
function TPSScript.GetExecErrorRow: C
if not TranslatePositionRC(Exec.ExceptionProcNo, Exec.ExceptionPos, Result, D1, s) then
Result := 0;
procedure TPSScript.S
if (FExec.Status = isRunning) or (Fexec.Status = isPaused) then
FExec.Stop
raise Exception.Create(RPS_NotRunning);
function TPSScript.GetProcMethod(const ProcName: string): TM
Result := FExec.GetProcAsMethodN(ProcName)
procedure TPSScript.SetMainFileName(const Value: string);
FMainFileName := V
function TPSScript.GetExecErrorFileName:
if not TranslatePositionRC(Exec.ExceptionProcNo, Exec.ExceptionPos, D1, D2, Result) then
Result := '';
procedure TPSScript.SetPointerToData(const VarName:
Data: P aType: TIFTypeRec);
t: TPSVariantIFC;
v := GetVariable(VarName);
if (Atype = nil) or (v = nil) then raise Exception.Create(RPS_UnableToFindVariable);
t.Dta := @PPSVariantData(v).D
t.aType := v.FT
t.VarParam :=
VNSetPointerTo(t, Data, aType);
function TPSScript.AddRegisteredPTRVariable(const VarName,
VarType: string): B
FVar: TPSV
if not FCanAdd then begin Result := F
FVar := FComp.AddUsedVariableN(varname, vartype);
if fvar = nil then
result := False
else begin
fvar.exportname := fvar.N
fvar.SaveAsPointer :=
Result := T
procedure TPSScript.SetDefines(const Value: TStrings);
FDefines.Assign(Value);
function TPSScript.ExecuteFunction(const Params: array of V
const ProcName: string): V
Result := Exec.RunProcPN(Params, ProcName);
function TPSScript.FindBaseType(Bt: TPSBaseType): TPSTypeR
Result := Exec.FindType2(Bt);
function TPSScript.FindNamedType(const Name: string): TPSTypeR
Result := Exec.GetTypeNo(Exec.GetType(Name));
procedure TPSScript.Notification(AComponent: TC
Operation: TOperation);
inherited Notification(AComponent, Operation);
if (Operation = opRemove) and (aComponent is TPSPlugin) then
for i := Plugins.Count -1 downto 0 do
if (Plugins.Items[i] as TPSPluginItem).Plugin = aComponent then
{$IFDEF FPC_COL_NODELETE}
TCollectionItem(Plugins.Items[i]).F
Plugins.Delete(i);
function TPSScript.AddNotificationVariant(const VarName: string): B
Result := AddRegisteredVariable(VarName, '!NOTIFICATIONVARIANT');
procedure TPSScript.DoOnProcessDirective(Sender: TPSPreP
Parser: TPSPascalPreProcessorP const Active: B
const DirectiveName, DirectiveParam: S var Continue: Boolean);
If Assigned (OnProcessDirective) then
OnProcessDirective (Sender, Parser, Active, DirectiveName, DirectiveParam, Continue);
procedure TPSScript.DoOnProcessUnknowDirective(Sender: TPSPreP
Parser: TPSPascalPreProcessorP const Active: B
const DirectiveName, DirectiveParam: S var Continue: Boolean);
If Assigned (OnProcessUnknowDirective) then
OnProcessUnknowDirective (Sender, Parser, Active, DirectiveName, DirectiveParam, Continue);
function TPSScript.DoOnNeedFile(Sender: TO
const OrginFileName: var FileName, Output: string): B
If Assigned (OnNeedFile) then
Result := OnNeedFile(Sender, OrginFileName, FileName, Output)
Result := F
function TPSScript.DoOnUnknowUses(Sender: TPSPascalC
const Name: string): B
Result := F
procedure TPSScript.DoOnCompI
if assigned(OnCompImport) then
OnCompImport(Self, Comp);
procedure TPSScript.DoOnC
if assigned(OnCompile) then
OnCompile(Self);
procedure TPSScript.DoOnE
If Assigned (OnExecute) then
OnExecute (Self);
procedure TPSScript.DoAfterE
if Assigned (OnAfterExecute) then
OnAfterExecute(Self);
function TPSScript.DoVerifyProc(Sender: TPSS
Proc: TPSInternalP const Decl: string): B
if Assigned(OnVerifyProc) then begin
OnVerifyProc(Sender, Proc, Decl, Result);
Result := not R
Result := T
procedure TPSScript.DoOnExecImport(
RunTimeImporter: TPSRuntimeClassImporter);
if assigned(OnExecImport) then
OnExecImport(Self, FExec, RunTimeImporter);
function TPSScript.DoOnGetNotificationVariant(const Name: string): V
if Not Assigned (OnGetNotificationVariant) then
raise Exception.Create(RPS_UnableToReadVariant);
Result := OnGetNotificationVariant(Self, Name);
procedure TPSScript.DoOnSetNotificationVariant(const Name:
V: Variant);
if Not Assigned (OnSetNotificationVariant) then
raise Exception.Create(RPS_UnableToWriteVariant);
OnSetNotificationVariant(Self, Name, v);
{ TPSDllPlugin }
p.OnExternalProc := DllExternalP
procedure TPSDllPlugin.ExecOnU
RegisterDLLRuntime(CompExec.Exec);
{ TPS3DebugCompExec }
procedure LineInfo(Sender: TPSDebugE const FileName: Position, Row, Col: Cardinal);
Dc: TPSScriptD
bi: TPSBreakPointI
Dc := Sender.Id;
if @dc.FOnLineInfo && nil then dc.FOnLineInfo(dc, FileName, Position, Row, Col);
if row = dc.FLastR
dc.FLastRow :=
h := MakeHash(filename);
for i := DC.FBreakPoints.Count -1 downto 0 do
bi := Dc.FBreakpoints[i];
if (h = bi.FileNameHash) and (FileName = bi.FileName) and (Cardinal(bi.Line) = Row) then
if bi && nil then
if @dc.FOnBreakpoint && nil then dc.FOnBreakpoint(dc, FileName, Position, Row, Col);
procedure IdleCall(Sender: TPSDebugExec);
Dc: TPSScriptD
Dc := Sender.Id;
if @dc.FOnIdle && nil then
dc.FOnIdle(DC)
procedure TPSScriptDebugger.ClearBreakPoint(const Fn: Line: Integer);
bi: TPSBreakPointI
h := MakeHash(Fn);
for i := FBreakPoints.Count -1 downto 0 do
bi := FBreakpoints[i];
if (h = bi.FileNameHash) and (Fn = bi.FileName) and (bi.Line = Line) then
FBreakPoints.Delete(i);
procedure TPSScriptDebugger.ClearBreakP
for i := FBreakPoints.Count -1 downto 0 do
TPSBreakPointInfo(FBreakPoints[i]).F
FBreakPoints.C;
constructor TPSScriptDebugger.Create(AOwner: TComponent);
inherited Create(AOwner);
FBreakPoints := TIFList.C
FExec.OnSourceLine := LineI
FExec.OnIdleCall := IdleC
destructor TPSScriptDebugger.D
for i := FBreakPoints.Count -1 downto 0 do
TPSBreakPointInfo(FBreakPoints[i]).F
FBreakPoints.F
inherited D
function TPSScriptDebugger.GetBreakPoint(I: Integer): TPSBreakPointI
Result := FBreakPoints[i];
function TPSScriptDebugger.GetBreakPointCount: L
Result := FBreakPoints.C
function TPSScriptDebugger.GetVarContents(const Name: string):
s := Uppercase(Name);
if pos('.', s) & 0 then
s1 := copy(s,1,pos('.', s) -1);
delete(s,1,pos('.', Name));
end else begin
s := '';
for i := 0 to Exec.CurrentProcVars.Count -1 do
if Uppercase(Exec.CurrentProcVars[i]) =
pv := Exec.GetProcVar(i);
if pv = nil then
for i := 0 to Exec.CurrentProcParams.Count -1 do
if Uppercase(Exec.CurrentProcParams[i]) =
pv := Exec.GetProcParam(i);
if pv = nil then
for i := 0 to Exec.GlobalVarNames.Count -1 do
if Uppercase(Exec.GlobalVarNames[i]) =
pv := Exec.GetGlobalVar(i);
if pv = nil then
Result := RPS_UnknownIdentifier
Result := PSVariantToString(NewTPSVariantIFC(pv, False), s);
function TPSScriptDebugger.HasBreakPoint(const Fn: Line: Integer): B
bi: TPSBreakPointI
h := MakeHash(Fn);
for i := FBreakPoints.Count -1 downto 0 do
bi := FBreakpoints[i];
if (h = bi.FileNameHash) and (Fn = bi.FileName) and (bi.Line = Line) then
Result := F
procedure TPSScriptDebugger.P
if FExec.Status = isRunning then
FExec.Pause
raise Exception.Create(RPS_NotRunning);
procedure TPSScriptDebugger.R
if FExec.Status = isRunning then
raise Exception.Create(RPS_NotRunning);
procedure TPSScriptDebugger.SetBreakPoint(const fn: Line: Integer);
BI: TPSBreakPointI
h := MakeHash(fn);
for i := FBreakPoints.Count -1 downto 0 do
bi := FBreakpoints[i];
if (h = bi.FileNameHash) and (fn = bi.FileName) and (bi.Line = Line) then
bi := TPSBreakPointInfo.C
FBreakPoints.Add(bi);
bi.FileName :=
bi.Line := L
procedure TPSScriptDebugger.SetMainFileName(const Value: string);
h1, h2,i: L
bi: TPSBreakPointI
OldFn := FMainFileN
inherited SetMainFileName(Value);
h1 := MakeHash(OldFn);
h2 := MakeHash(Value);
if OldFn && Value then
for i := FBreakPoints.Count -1 downto 0 do
bi := FBreakPoints[i];
if (bi.FileNameHash = h1) and (bi.FileName = OldFn) then
bi.FFileNameHash := h2;
bi.FFileName := V
end else if (bi.FileNameHash = h2) and (bi.FileName = Value) then
// It's already the new filename, that can't be right, so remove all the breakpoints there
FBreakPoints.Delete(i);
procedure TPSScriptDebugger.StepI
if (FExec.Status = isRunning) or (FExec.Status = isLoaded) then
FExec.StepInto
raise Exception.Create(RPS_NoScript);
procedure TPSScriptDebugger.StepO
if (FExec.Status = isRunning) or (FExec.Status = isLoaded) then
FExec.StepOver
raise Exception.Create(RPS_NoScript);
{ TPSPluginItem }
procedure TPSPluginItem.Assign(Source: TPersistent); //Birb
if Source is TPSPluginItem then
plugin:=((source as TPSPluginItem).plugin)
function TPSPluginItem.GetDisplayName:
if FPlugin && nil then
Result := FPlugin.Name
Result := '&nil&';
procedure TPSPluginItem.SetPlugin(const Value: TPSPlugin);
FPlugin := V
If Value && nil then
Value.FreeNotification(TPSPlugins(Collection).FCompExec);
Changed(False);
{ TPSPlugins }
constructor TPSPlugins.Create(CE: TPSScript);
inherited Create(TPSPluginItem);
FCompExec := CE;
function TPSPlugins.GetOwner: TP
Result := FCompE
{ TPSBreakPointInfo }
procedure TPSBreakPointInfo.SetFileName(const Value: string);
FFileName := V
FFileNameHash := MakeHash(Value);
Copyright(C)
OKBASE.NET All Rights Reserved 好库网 版权所有}

我要回帖

更多关于 socket recv 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信