serial CacheObjectSpyCNTs,KeyCodesCNTs Default %Library.TMFormClass %Library.String %Library.Boolean 0 %Library.TMTreeNode %Library.Boolean 0 %TMCheckBox %Library.Boolean 0 %Library.Boolean 0 %Library.Boolean 0 %Library.String 30 %Library.Integer 0 %Library.Integer 0 %Library.String 1 %Library.String %Library.String %Library.String %Library.String %Library.Integer 25 %Library.TMForm %Library.Boolean 0 %Library.String %Library.String %Library.String %TMMenuItem %TMMenuItem %TMMenuItem %Library.List %Library.List %Library.String %Library.List %Library.Boolean 0 %Library.Boolean 0 %Library.String "," %Library.String 1 %Library.String 1 %TMSpeedButton %TMSpeedButton %TMSpeedButton %TMSpeedButton %TMSpeedButton %TMSpeedButton %TMButton %TMButton %TMButton %TMButton %TMButton %TMSpeedButton %TMSpeedButton %TMSpeedButton %TMSpeedButton %TMSpeedButton %TMButton %TMButton %TMButton %TMCheckBox %TMCheckBox %TMCheckBox %TMCheckBox %TMCheckBox %TMCheckListBox %TMCheckListBox %Library.String $$$NULLOREF UI.Utils.Spy5.dlgChooseObject %TMMenuItem %TMMenuItem %TMMenuItem %TMImageList %TMListBox %TMLabel %TMLabel %TMLabel %TMLabel %TMLabel %TMLabel %TMLabel %TMLabel %TMLabel %TMLabel %TMLabel %TMMenuItem %TMMenuItem %TMMenuItem %TMMenuItem %TMMenuItem %TMMenuItem %TMMenuItem %TMMenuItem %TMMenuItem %TMMenuItem %TMMenuItem %TMMenuItem %TMMenuItem %TMMenuItem %TMMenuItem %TMMenuItem %TMMenuItem %TMMenuItem %TMMenuItem %TMMenuItem %TMMenuItem %TMMenuItem %TMMenuItem %TMMenuItem %TMMenuItem %TMMenuItem %TMMenuItem %TMMenuItem %TMMemo %TMMemo %TMPageControl %TMPopupMenu %TMPopupMenu %TMPopupMenu %TMPopupMenu %TMPanel %TMPanel %TMPanel %TMPanel %TMPanel %TMPanel %TMScrollBox %TMSaveDialog %TMSplitter %TMTabSheet %Library.TMTabSheet %TMTabSheet %TMTabSheet %TMTabSheet %TMTabSheet %TMEdit %TMEdit initvalue:%String cache 0 %Status document literal Value:%String cache 0 %Library.Status document literal Value:%String cache 0 %Library.Status document literal Value:%Integer cache 0 %Library.Status document literal Args:%String cache 0 document literal cache 0 document literal ' ; Anchors = [akTop, akRight] ; Color = 10079436 ; Caption = '&Execute' ; Font.Charset = DEFAULT_CHARSET ; Font.Color = clRed ; Font.Height = -11 ; Font.Name = 'MS Sans Serif' ; Font.Style = [fsBold] ; ParentFont = False ; ParentShowHint = False ; ShowHint = True ; OnClick = btnExecDynamicSQLClick ; end ; object btnPrevDynQuery: CSpeedButton ; Left = 690 ; Top = 35 ; Width = 63 ; Height = 22 ; Anchors = [akTop, akRight] ; Color = 14342838 ; Caption = '&Previous' ; Enabled = False ; Font.Charset = DEFAULT_CHARSET ; Font.Color = clBlue ; Font.Height = -11 ; Font.Name = 'MS Sans Serif' ; Font.Style = [fsBold] ; ParentFont = False ; ParentShowHint = False ; ShowHint = True ; OnClick = btnPrevDynQueryClick ; end ; object btnNextDynQuery: CSpeedButton ; Left = 690 ; Top = 57 ; Width = 63 ; Height = 22 ; Anchors = [akTop, akRight] ; Color = 14342838 ; Caption = '&Next' ; Enabled = False ; Font.Charset = DEFAULT_CHARSET ; Font.Color = clBlue ; Font.Height = -11 ; Font.Name = 'MS Sans Serif' ; Font.Style = [fsBold] ; ParentFont = False ; ParentShowHint = False ; ShowHint = True ; OnClick = btnNextDynQueryClick ; end ; object lblCurrent: CLabel ; Left = 690 ; Top = 84 ; Width = 63 ; Height = 13 ; Alignment = taCenter ; Anchors = [akTop, akRight] ; AutoSize = False ; Font.Charset = ANSI_CHARSET ; Font.Color = clBlue ; Font.Height = -11 ; Font.Name = 'Tahoma' ; Font.Style = [fsBold] ; ParentFont = False ; end ; object btnClearDynQueries: CSpeedButton ; Left = 690 ; Top = 106 ; Width = 63 ; Height = 22 ; Anchors = [akRight, akBottom] ; Color = 14342838 ; Caption = '&Clear' ; Font.Charset = DEFAULT_CHARSET ; Font.Color = clBlue ; Font.Height = -11 ; Font.Name = 'MS Sans Serif' ; Font.Style = [fsBold] ; ParentFont = False ; ParentShowHint = False ; ShowHint = True ; OnClick = btnClearDynQueriesClick ; end ; object mmoDynamicQuery: CMemo ; Left = 0 ; Top = 0 ; Width = 686 ; Height = 130 ; Align = alLeft ; Anchors = [akLeft, akTop, akRight, akBottom] ; Color = 13487516 ; Font.Charset = ANSI_CHARSET ; Font.Color = clNavy ; Font.Height = -11 ; Font.Name = 'Courier New' ; Font.Style = [fsBold] ; ParentFont = False ; TabOrder = 0 ; WordWrap = False ; OnKeyDown = mmoDynamicQueryKeyDown ; end ; end ; object mmoResults: CMemo ; Left = 0 ; Top = 33 ; Width = 755 ; Height = 341 ; Align = alClient ; Color = 15658717 ; Font.Charset = ANSI_CHARSET ; Font.Color = clWindowText ; Font.Height = -11 ; Font.Name = 'Courier New' ; Font.Style = [] ; ParentFont = False ; PopupMenu = pmUtils ; ReadOnly = True ; ScrollBars = ssBoth ; TabOrder = 1 ; OnKeyDown = mmoDynamicQueryKeyDown ; end ; object pnlQueryTop: CPanel ; Left = 0 ; Top = 0 ; Width = 755 ; Height = 33 ; Align = alTop ; Color = 13487516 ; TabOrder = 2 ; object btnQueries: CSpeedButton ; Left = 6 ; Top = 6 ; Width = 79 ; Height = 22 ; Color = 14342838 ; DropdownAlways = True ; DropdownMenu = pmQueries ; Caption = 'Queries' ; Font.Charset = DEFAULT_CHARSET ; Font.Color = clRed ; Font.Height = -11 ; Font.Name = 'MS Sans Serif' ; Font.Style = [fsBold] ; ParentFont = False ; end ; object lblQueryMsg: CLabel ; Left = 94 ; Top = 5 ; Width = 7 ; Height = 24 ; Color = 10485760 ; Font.Charset = DEFAULT_CHARSET ; Font.Color = clNavy ; Font.Height = -19 ; Font.Name = 'MS Sans Serif' ; Font.Style = [fsBold] ; ParentColor = False ; ParentFont = False ; Transparent = True ; end ; object CheckBox1: CCheckBox ; Left = 659 ; Top = 9 ; Width = 89 ; Height = 17 ; Anchors = [akTop, akRight] ; Caption = 'Load inherited' ; Checked = True ; State = cbChecked ; TabOrder = 0 ; end ; end ; end ; object tbDataReplicator: TTabSheet ; Caption = 'Data Replicator' ; ImageIndex = 4 ; TabVisible = False ; object lblProperties: CLabel ; Left = 8 ; Top = 11 ; Width = 50 ; Height = 13 ; Caption = 'Properties:' ; Enabled = False ; Font.Charset = DEFAULT_CHARSET ; Font.Color = clBlue ; Font.Height = -11 ; Font.Name = 'MS Sans Serif' ; Font.Style = [] ; ParentFont = False ; end ; object lblIDs: CLabel ; Left = 724 ; Top = 11 ; Width = 21 ; Height = 13 ; Anchors = [akTop, akRight] ; Caption = 'ID'#39's:' ; Enabled = False ; Font.Charset = DEFAULT_CHARSET ; Font.Color = clBlue ; Font.Height = -11 ; Font.Name = 'MS Sans Serif' ; Font.Style = [] ; ParentFont = False ; end ; object lblMsg: CLabel ; Left = 8 ; Top = 433 ; Width = 736 ; Height = 36 ; Alignment = taCenter ; Anchors = [akLeft, akRight, akBottom] ; AutoSize = False ; Caption = 'lblMsg' ; Font.Charset = ANSI_CHARSET ; Font.Color = clRed ; Font.Height = -11 ; Font.Name = 'Tahoma' ; Font.Style = [fsBold] ; ParentFont = False ; end ; object clbProperties: CCheckListBox ; Left = 8 ; Top = 28 ; Width = 246 ; Height = 375 ; Anchors = [akLeft, akTop, akBottom] ; ItemHeight = 13 ; TabOrder = 0 ; OnDblClick = clbPropertiesDblClick ; end ; object chkSelAllProps: CCheckBox ; Left = 8 ; Top = 401 ; Width = 65 ; Height = 17 ; Anchors = [akLeft, akBottom] ; Caption = 'Select all' ; TabOrder = 1 ; OnClick = chkSelAllPropsClick ; end ; object clbIDs: CCheckListBox ; Left = 256 ; Top = 28 ; Width = 489 ; Height = 345 ; Anchors = [akLeft, akTop, akRight, akBottom] ; Columns = 2 ; ItemHeight = 13 ; PopupMenu = pmIDs ; TabOrder = 2 ; end ; object txtIDFilter: CEdit ; Left = 256 ; Top = 376 ; Width = 375 ; Height = 21 ; Anchors = [akLeft, akRight, akBottom] ; TabOrder = 3 ; OnKeyDown = txtIDFilterKeyDown ; end ; object btnXtra: CButton ; Left = 630 ; Top = 376 ; Width = 35 ; Height = 21 ; Anchors = [akRight, akBottom] ; Caption = '(Xtra)' ; TabOrder = 4 ; OnClick = btnXtraClick ; end ; object chkClearPrevious: CCheckBox ; Left = 614 ; Top = 401 ; Width = 132 ; Height = 17 ; Alignment = taLeftJustify ; Anchors = [akRight, akBottom] ; Caption = 'Clear previous selection' ; Checked = True ; State = cbChecked ; TabOrder = 5 ; end ; object btnLoadIDs: CButton ; Left = 678 ; Top = 376 ; Width = 67 ; Height = 21 ; Anchors = [akRight, akBottom] ; Caption = '&Load IDs' ; TabOrder = 6 ; OnClick = btnLoadIDsClick ; end ; end ; end ; object pnlTop2: CPanel ; Left = 0 ; Top = 33 ; Width = 763 ; Height = 9 ; Align = alTop ; BevelOuter = bvNone ; TabOrder = 2 ; Visible = False ; end ; object ilObject: CImageList ; Left = 514 ; Top = 1 ; Bitmap = ; 'Information.bmp,CachéProperties.ico,CachéMethods.ico,CachéQuerie' + ; 's.ico,Documents1.bmp' ; end ; object pmUtils: CPopupMenu ; OnPopup = pmUtilsPopup ; Left = 689 ; Top = 39 ; object hmiFetchCount: TMenuItem ; Caption = 'Fetch count...' ; object miFC25: TMenuItem ; Tag = 25 ; Caption = '25' ; Checked = True ; RadioItem = True ; OnClick = miFetchCountClick ; end ; object miFC100: TMenuItem ; Tag = 100 ; Caption = '100' ; RadioItem = True ; OnClick = miFetchCountClick ; end ; object miFC200: TMenuItem ; Tag = 200 ; Caption = '200' ; RadioItem = True ; OnClick = miFetchCountClick ; end ; object miFC300: TMenuItem ; Tag = 300 ; Caption = '300' ; RadioItem = True ; OnClick = miFetchCountClick ; end ; object miFC400: TMenuItem ; Tag = 400 ; Caption = '400' ; RadioItem = True ; OnClick = miFetchCountClick ; end ; object miFC500: TMenuItem ; Tag = 500 ; Caption = '500' ; RadioItem = True ; OnClick = miFetchCountClick ; end ; object miSep1: TMenuItem ; Caption = '-' ; end ; object miFCUserDefined: TMenuItem ; Caption = 'User defined...' ; RadioItem = True ; OnClick = miFetchCountClick ; end ; end ; object hmiColWidth: TMenuItem ; Caption = 'Column width...' ; object miCW10: TMenuItem ; Tag = 10 ; Caption = '10' ; RadioItem = True ; OnClick = miColWidthClick ; end ; object miCW20: TMenuItem ; Tag = 20 ; Caption = '20' ; RadioItem = True ; OnClick = miColWidthClick ; end ; object miCW30: TMenuItem ; Tag = 30 ; Caption = '30' ; Checked = True ; RadioItem = True ; OnClick = miColWidthClick ; end ; object miCW40: TMenuItem ; Tag = 40 ; Caption = '40' ; RadioItem = True ; OnClick = miColWidthClick ; end ; object miCW50: TMenuItem ; Tag = 50 ; Caption = '50' ; RadioItem = True ; OnClick = miColWidthClick ; end ; object miSep2: TMenuItem ; Caption = '-' ; end ; object miCWUserDefined: TMenuItem ; Caption = 'User defined...' ; RadioItem = True ; OnClick = miColWidthClick ; end ; end ; object hmiOutput: TMenuItem ; Caption = 'Output...' ; object miColumns: TMenuItem ; Caption = 'Columns' ; Checked = True ; RadioItem = True ; ShortCut = 112 ; OnClick = miOutputClick ; end ; object MenuItem4: TMenuItem ; Caption = '-' ; end ; end ; object miSep3: TMenuItem ; Caption = '-' ; end ; object miCopyRSCode: TMenuItem ; Caption = 'Copy ResultSet code' ; OnClick = miCopyRSCodeClick ; end ; object miShowSQL: TMenuItem ; Caption = 'Copy SQL' ; OnClick = miShowSQLClick ; end ; object miSep6: TMenuItem ; Caption = '-' ; end ; object miSaveResults: TMenuItem ; Caption = 'Save results...' ; ShortCut = 16467 ; OnClick = miSaveResultsClick ; end ; end ; object sdResults: CSaveDialog ; DefaultExt = '.txt' ; Filter = 'Text File (*.txt)|*.txt' ; Left = 713 ; Top = 43 ; end ; object pmQueries: CPopupMenu ; Left = 665 ; Top = 37 ; end ; object pmIDs: CPopupMenu ; Left = 632 ; Top = 38 ; object miCopyIDs: TMenuItem ; Caption = '&Copy ID'#39's (with code)' ; OnClick = miCopyIDsClick ; end ; object miCopyXML: TMenuItem ; Caption = 'Copy to &XML format' ; OnClick = miCopyXMLClick ; end ; object miCopyCache: TMenuItem ; Caption = 'Copy to C&aché format' ; OnClick = miCopyCacheClick ; end ; object miCopyExcel: TMenuItem ; Caption = 'Copy to &Excel format' ; OnClick = miCopyExcelClick ; end ; object MenuItem1: TMenuItem ; Caption = '-' ; end ; object miCreateNewInstances: TMenuItem ; Caption = 'Create new instances...' ; OnClick = miCreateNewInstancesClick ; end ; object miCreateCopyMethod: TMenuItem ; Caption = 'Create copy-method' ; OnClick = miCreateCopyMethodClick ; end ; object MenuItem3: TMenuItem ; Caption = '-' ; end ; object miDelete: TMenuItem ; Caption = '&Delete objects' ; ShortCut = 16472 ; OnClick = miDeleteClick ; end ; end ; object pmAllIDs: CPopupMenu ; AutoPopup = False ; Left = 494 ; Top = 39 ; end ;end ]]> Args:%String cache 0 document literal Args:%String cache 0 document literal cache 0 document literal Args:%String cache 0 document literal varname:type=default .. Set ParaDefault=$P(Para,"=",2) ;- DEFAULT .. Set Para=$P(Para,"=",1) ;PARA -> varname:type .. Set ParaType=$P(Para,":",2) ;- TYPE .. Set ParaName=$P(Para,":",1) ;- PARAMNAME .. Set InputPara="" .. If $L(ParaDefault) Do ... Set InputPara=ParaDefault .. Else If "%STRING/%LIBRARY.STRING"[$ZCVT(ParaType,"U") Do ... Set InputPara="""""" .. Set:($$InputBox^vhVisual(QueryName_ " parameters ("_ParamLoop_"/"_AantalParams_")",ParaName_$S($L(ParaType):": "_ParaType,1:""),.InputPara)=$$$mrCancel) EarlyQuit=1 .. Set InputParams=InputParams_$S(ParamLoop=1:"",1:",")_InputPara ;--------------------------------------------- New ErrStr,tmpStatus Set ErrStr=$$iXecute^vhLib("Set tmpStatus=RS.Execute("_InputParams_")") If ErrStr'="" Do Quit . Set ..LastInputParams="" . Do MApplication.MessageBox(ErrStr) . Do RS.%Close() New NoRowsAffected Set NoRowsAffected=($$ParseStatus^vhLib(tmpStatus)["SQLCODE = 100") If $$$ISERR(tmpStatus) && ('NoRowsAffected) Do Quit //SQLCODE = 100 is geen fout . Set ..LastInputParams="" . Do MApplication.MessageBox($$ParseStatus^vhLib(tmpStatus)) . Do RS.%Close() Set ..LastInputParams=InputParams If '..QueryIsSELECT(..LastSQLCode) Do Quit . Do AddLine("Done"_$S(NoRowsAffected:" (no rows affected).",1:".")) . Do RS.%Close() Set MApplication.ScreenCursor=$$$crHourGlass Do:(..FetchCount>25) ..mmoResults.Lines.BeginUpdate() ;Columnheader en seperator lines New Loop,ColLine,ColCount,ColWidth,SepLine Kill ..aCols Set ColWidth=..ColWidth Set ColCount=RS.GetColumnCount() Set (ColLine,SepLine)="" For Loop=1:1:ColCount Do . Set ..aCols(Loop)=RS.GetColumnHeader(Loop) . If ..miColumns.Checked="True" Do .. Set ColLine=ColLine_$$AddSpaces(..aCols(Loop),ColWidth)_" " .. Set SepLine=SepLine_$$AddLines(..aCols(Loop),ColWidth)_" " . Else Do .. Set ColLine=ColLine_..QuerySep_..aCols(Loop) If ..miColumns.Checked="True" Do . Do AddLine(ColLine) . Do AddLine(SepLine) Else Do . Do AddLine($E(ColLine,2,99999)) ;Eerste ',' eraf strippen ;Resultdata New DataLine,RowCnt Set RowCnt=0 For Quit:((RowCnt=..FetchCount) || ('RS.Next())) Do . Set DataLine="" . For Loop=1:1:ColCount Do .. If ..miColumns.Checked="True" Do ... Set DataLine=DataLine_$$AddSpaces(RS.Get(..aCols(Loop)),ColWidth)_" " .. Else Do ... Set DataLine=DataLine_..QuerySep_RS.Get(..aCols(Loop)) . If ..miColumns.Checked="True" Do .. Do AddLine(DataLine) . Else Do .. Do AddLine($E(DataLine,2,99999)) ;Eerste ',' eraf strippen . Set RowCnt=RowCnt+1 Do AddLine("") If RS.Next() Do . Do AddLine(RowCnt_" row(s) affected (fetch ceiling reached).") Else Do . Do AddLine(RowCnt_" row(s) affected.") Do RS.%Close() Set MApplication.ScreenCursor=$$$crDefault Do:(..FetchCount>25) ..mmoResults.Lines.EndUpdate() ;End of user code s Args=$lb(Sender) q //----------------------------------------------------------------------------- AddLine(Line) If ..FetchCount<26 Do . Do ..mmoResults.Lines.Add(Line) Else Do . If ..mmoResults.Lines.Count=0 Do .. Set ..mmoResults.Text=Line . Else Do .. Set ..mmoResults.Text=..mmoResults.Text_$C(13,10)_Line Quit //----------------------------------------------------------------------------- AddSpaces(Txt,Width) Quit:($L(Txt)>(Width-2)) $E(Txt,1,Width-3)_"..." New tmpTxt Set tmpTxt=Txt_$J("",Width-$L(Txt)) Quit tmpTxt AddLines(Txt,Width) New tmpTxt ;Set $P(tmpTxt,"-",$L(Txt)+1)=$J("",Width-$L(Txt)) Set $P(tmpTxt,"-",Width+1)="" Quit tmpTxt ]]> Value:%Library.String cache 0 %Library.Status document literal Event:%Library.String,Args:%Library.String="",Parameter,Parameter2:%Library.String cache 0 document literal ClassName:%Library.String cache 0 document literal StopKey:%String cache 0 %Library.Integer document literal Id:%Library.String cache 0 %Library.Boolean document literal initvalue:%String cache 0 MApplication document literal ",$lb("akTop","akRight"),10079436,"&Execute","False","False","True",$lb(%this,"btnExecDynamicSQLClick"))) d %this.btnExecDynamicSQL.Font.SetMultiProperty($lb("Charset","Color","Height","Name","Style"),$lb($$$DEFAULTCHARSET,$$$clRed,-11,"MS Sans Serif",$lb("fsBold"))) d %this.btnPrevDynQuery.SetMultiProperty($lb("Left","Top","Width","Height","Anchors","Color","Caption","Enabled","ParentFont","ParentShowHint","ShowHint","OnClick"),$lb(690,35,63,22,$lb("akTop","akRight"),14342838,"&Previous","False","False","False","True",$lb(%this,"btnPrevDynQueryClick"))) d %this.btnPrevDynQuery.Font.SetMultiProperty($lb("Charset","Color","Height","Name","Style"),$lb($$$DEFAULTCHARSET,$$$clBlue,-11,"MS Sans Serif",$lb("fsBold"))) d %this.btnNextDynQuery.SetMultiProperty($lb("Left","Top","Width","Height","Anchors","Color","Caption","Enabled","ParentFont","ParentShowHint","ShowHint","OnClick"),$lb(690,57,63,22,$lb("akTop","akRight"),14342838,"&Next","False","False","False","True",$lb(%this,"btnNextDynQueryClick"))) d %this.btnNextDynQuery.Font.SetMultiProperty($lb("Charset","Color","Height","Name","Style"),$lb($$$DEFAULTCHARSET,$$$clBlue,-11,"MS Sans Serif",$lb("fsBold"))) d %this.lblCurrent.SetMultiProperty($lb("Left","Top","Width","Height","Alignment","Anchors","AutoSize","ParentFont"),$lb(690,84,63,13,"taCenter",$lb("akTop","akRight"),"False","False")) d %this.lblCurrent.Font.SetMultiProperty($lb("Charset","Color","Height","Name","Style"),$lb($$$ANSICHARSET,$$$clBlue,-11,"Tahoma",$lb("fsBold"))) d %this.btnClearDynQueries.SetMultiProperty($lb("Left","Top","Width","Height","Anchors","Color","Caption","ParentFont","ParentShowHint","ShowHint","OnClick"),$lb(690,106,63,22,$lb("akRight","akBottom"),14342838,"&Clear","False","False","True",$lb(%this,"btnClearDynQueriesClick"))) d %this.btnClearDynQueries.Font.SetMultiProperty($lb("Charset","Color","Height","Name","Style"),$lb($$$DEFAULTCHARSET,$$$clBlue,-11,"MS Sans Serif",$lb("fsBold"))) d %this.mmoDynamicQuery.SetMultiProperty($lb("Left","Top","Width","Height","Align","Anchors","Color","ParentFont","TabOrder","WordWrap","OnKeyDown"),$lb(0,0,686,130,"alLeft",$lb("akLeft","akTop","akRight","akBottom"),13487516,"False",0,"False",$lb(%this,"mmoDynamicQueryKeyDown"))) d %this.mmoDynamicQuery.Font.SetMultiProperty($lb("Charset","Color","Height","Name","Style"),$lb($$$ANSICHARSET,$$$clNavy,-11,"Courier New",$lb("fsBold"))) d %this.mmoResults.SetMultiProperty($lb("Left","Top","Width","Height","Align","Color","ParentFont"),$lb(0,33,755,341,"alClient",15658717,"False")) d %this.mmoResults.Font.SetMultiProperty($lb("Charset","Color","Height","Name","Style"),$lb($$$ANSICHARSET,$$$clWindowText,-11,"Courier New",$lb())) s %this.mmoResults.PopupMenu=%this.pmUtils d %this.mmoResults.SetMultiProperty($lb("ReadOnly","ScrollBars","TabOrder","OnKeyDown"),$lb("True","ssBoth",1,$lb(%this,"mmoDynamicQueryKeyDown"))) d %this.pnlQueryTop.SetMultiProperty($lb("Left","Top","Width","Height","Align","Color","TabOrder"),$lb(0,0,755,33,"alTop",13487516,2)) d %this.btnQueries.SetMultiProperty($lb("Left","Top","Width","Height","Color","DropdownAlways"),$lb(6,6,79,22,14342838,"True")) s %this.btnQueries.DropdownMenu=%this.pmQueries d %this.btnQueries.SetMultiProperty($lb("Caption","ParentFont"),$lb("Queries","False")) d %this.btnQueries.Font.SetMultiProperty($lb("Charset","Color","Height","Name","Style"),$lb($$$DEFAULTCHARSET,$$$clRed,-11,"MS Sans Serif",$lb("fsBold"))) d %this.lblQueryMsg.SetMultiProperty($lb("Left","Top","Width","Height","Color","ParentColor","ParentFont","Transparent"),$lb(94,5,7,24,10485760,"False","False","True")) d %this.lblQueryMsg.Font.SetMultiProperty($lb("Charset","Color","Height","Name","Style"),$lb($$$DEFAULTCHARSET,$$$clNavy,-19,"MS Sans Serif",$lb("fsBold"))) d %this.CheckBox1.SetMultiProperty($lb("Left","Top","Width","Height","Anchors","Caption","Checked","State","TabOrder"),$lb(659,9,89,17,$lb("akTop","akRight"),"Load inherited","True","cbChecked",0)) d %this.tbDataReplicator.SetMultiProperty($lb("Caption","ImageIndex","TabVisible"),$lb("Data Replicator",4,"False")) d %this.lblProperties.SetMultiProperty($lb("Left","Top","Width","Height","Caption","Enabled","ParentFont"),$lb(8,11,50,13,"Properties:","False","False")) d %this.lblProperties.Font.SetMultiProperty($lb("Charset","Color","Height","Name","Style"),$lb($$$DEFAULTCHARSET,$$$clBlue,-11,"MS Sans Serif",$lb())) d %this.lblIDs.SetMultiProperty($lb("Left","Top","Width","Height","Anchors","Caption","Enabled","ParentFont"),$lb(724,11,21,13,$lb("akTop","akRight"),"ID"_$C(39)_"s:","False","False")) d %this.lblIDs.Font.SetMultiProperty($lb("Charset","Color","Height","Name","Style"),$lb($$$DEFAULTCHARSET,$$$clBlue,-11,"MS Sans Serif",$lb())) d %this.lblMsg.SetMultiProperty($lb("Left","Top","Width","Height","Alignment","Anchors","AutoSize","Caption","ParentFont"),$lb(8,433,736,36,"taCenter",$lb("akLeft","akRight","akBottom"),"False","lblMsg","False")) d %this.lblMsg.Font.SetMultiProperty($lb("Charset","Color","Height","Name","Style"),$lb($$$ANSICHARSET,$$$clRed,-11,"Tahoma",$lb("fsBold"))) d %this.clbProperties.SetMultiProperty($lb("Left","Top","Width","Height","Anchors","ItemHeight","TabOrder","OnDblClick"),$lb(8,28,246,375,$lb("akLeft","akTop","akBottom"),13,0,$lb(%this,"clbPropertiesDblClick"))) d %this.chkSelAllProps.SetMultiProperty($lb("Left","Top","Width","Height","Anchors","Caption","TabOrder","OnClick"),$lb(8,402,65,17,$lb("akLeft","akBottom"),"Select all",1,$lb(%this,"chkSelAllPropsClick"))) d %this.clbIDs.SetMultiProperty($lb("Left","Top","Width","Height","Anchors","Columns","ItemHeight"),$lb(256,28,489,346,$lb("akLeft","akTop","akRight","akBottom"),2,13)) s %this.clbIDs.PopupMenu=%this.pmIDs d %this.clbIDs.SetMultiProperty($lb("TabOrder"),$lb(2)) d %this.txtIDFilter.SetMultiProperty($lb("Left","Top","Width","Height","Anchors","TabOrder","OnKeyDown"),$lb(256,377,375,21,$lb("akLeft","akRight","akBottom"),3,$lb(%this,"txtIDFilterKeyDown"))) d %this.btnXtra.SetMultiProperty($lb("Left","Top","Width","Height","Anchors","Caption","TabOrder","OnClick"),$lb(630,377,35,21,$lb("akRight","akBottom"),"(Xtra)",4,$lb(%this,"btnXtraClick"))) d %this.chkClearPrevious.SetMultiProperty($lb("Left","Top","Width","Height","Alignment","Anchors","Caption","Checked","State","TabOrder"),$lb(614,402,132,17,"taLeftJustify",$lb("akRight","akBottom"),"Clear previous selection","True","cbChecked",5)) d %this.btnLoadIDs.SetMultiProperty($lb("Left","Top","Width","Height","Anchors","Caption","TabOrder","OnClick"),$lb(678,377,67,21,$lb("akRight","akBottom"),"&Load IDs",6,$lb(%this,"btnLoadIDsClick"))) d %this.pnlTop2.SetMultiProperty($lb("Left","Top","Width","Height","Align","BevelOuter","TabOrder","Visible"),$lb(0,33,763,9,"alTop","bvNone",2,"False")) d %this.ilObject.SetMultiProperty($lb("Bitmap"),$lb("Information.bmp,CachéProperties.ico,CachéMethods.ico,CachéQueries.ico,Documents1.bmp")) d %this.pmUtils.SetMultiProperty($lb("OnPopup"),$lb($lb(%this,"pmUtilsPopup"))) d %this.hmiFetchCount.SetMultiProperty($lb("Caption"),$lb("Fetch count...")) d %this.miFC25.SetMultiProperty($lb("Tag","Caption","Checked","RadioItem","OnClick"),$lb(25,"25","True","True",$lb(%this,"miFetchCountClick"))) d %this.miFC100.SetMultiProperty($lb("Tag","Caption","RadioItem","OnClick"),$lb(100,"100","True",$lb(%this,"miFetchCountClick"))) d %this.miFC200.SetMultiProperty($lb("Tag","Caption","RadioItem","OnClick"),$lb(200,"200","True",$lb(%this,"miFetchCountClick"))) d %this.miFC300.SetMultiProperty($lb("Tag","Caption","RadioItem","OnClick"),$lb(300,"300","True",$lb(%this,"miFetchCountClick"))) d %this.miFC400.SetMultiProperty($lb("Tag","Caption","RadioItem","OnClick"),$lb(400,"400","True",$lb(%this,"miFetchCountClick"))) d %this.miFC500.SetMultiProperty($lb("Tag","Caption","RadioItem","OnClick"),$lb(500,"500","True",$lb(%this,"miFetchCountClick"))) d %this.miSep1.SetMultiProperty($lb("Caption"),$lb("-")) d %this.miFCUserDefined.SetMultiProperty($lb("Caption","RadioItem","OnClick"),$lb("User defined...","True",$lb(%this,"miFetchCountClick"))) d %this.hmiColWidth.SetMultiProperty($lb("Caption"),$lb("Column width...")) d %this.miCW10.SetMultiProperty($lb("Tag","Caption","RadioItem","OnClick"),$lb(10,"10","True",$lb(%this,"miColWidthClick"))) d %this.miCW20.SetMultiProperty($lb("Tag","Caption","RadioItem","OnClick"),$lb(20,"20","True",$lb(%this,"miColWidthClick"))) d %this.miCW30.SetMultiProperty($lb("Tag","Caption","Checked","RadioItem","OnClick"),$lb(30,"30","True","True",$lb(%this,"miColWidthClick"))) d %this.miCW40.SetMultiProperty($lb("Tag","Caption","RadioItem","OnClick"),$lb(40,"40","True",$lb(%this,"miColWidthClick"))) d %this.miCW50.SetMultiProperty($lb("Tag","Caption","RadioItem","OnClick"),$lb(50,"50","True",$lb(%this,"miColWidthClick"))) d %this.miSep2.SetMultiProperty($lb("Caption"),$lb("-")) d %this.miCWUserDefined.SetMultiProperty($lb("Caption","RadioItem","OnClick"),$lb("User defined...","True",$lb(%this,"miColWidthClick"))) d %this.hmiOutput.SetMultiProperty($lb("Caption"),$lb("Output...")) d %this.miColumns.SetMultiProperty($lb("Caption","Checked","RadioItem","ShortCut","OnClick"),$lb("Columns","True","True",112,$lb(%this,"miOutputClick"))) d %this.MenuItem4.SetMultiProperty($lb("Caption"),$lb("-")) d %this.miSep3.SetMultiProperty($lb("Caption"),$lb("-")) d %this.miCopyRSCode.SetMultiProperty($lb("Caption","OnClick"),$lb("Copy ResultSet code",$lb(%this,"miCopyRSCodeClick"))) d %this.miShowSQL.SetMultiProperty($lb("Caption","OnClick"),$lb("Copy SQL",$lb(%this,"miShowSQLClick"))) d %this.miSep6.SetMultiProperty($lb("Caption"),$lb("-")) d %this.miSaveResults.SetMultiProperty($lb("Caption","ShortCut","OnClick"),$lb("Save results...",16467,$lb(%this,"miSaveResultsClick"))) d %this.sdResults.SetMultiProperty($lb("DefaultExt","Filter"),$lb(".txt","Text File (*.txt)|*.txt")) d %this.miCopyIDs.SetMultiProperty($lb("Caption","OnClick"),$lb("&Copy ID"_$C(39)_"s (with code)",$lb(%this,"miCopyIDsClick"))) d %this.miCopyXML.SetMultiProperty($lb("Caption","OnClick"),$lb("Copy to &XML format",$lb(%this,"miCopyXMLClick"))) d %this.miCopyCache.SetMultiProperty($lb("Caption","OnClick"),$lb("Copy to C&aché format",$lb(%this,"miCopyCacheClick"))) d %this.miCopyExcel.SetMultiProperty($lb("Caption","OnClick"),$lb("Copy to &Excel format",$lb(%this,"miCopyExcelClick"))) d %this.MenuItem1.SetMultiProperty($lb("Caption"),$lb("-")) d %this.miCreateNewInstances.SetMultiProperty($lb("Caption","OnClick"),$lb("Create new instances...",$lb(%this,"miCreateNewInstancesClick"))) d %this.miCreateCopyMethod.SetMultiProperty($lb("Caption","OnClick"),$lb("Create copy-method",$lb(%this,"miCreateCopyMethodClick"))) d %this.MenuItem3.SetMultiProperty($lb("Caption"),$lb("-")) d %this.miDelete.SetMultiProperty($lb("Caption","ShortCut","OnClick"),$lb("&Delete objects",16472,$lb(%this,"miDeleteClick"))) d %this.pmAllIDs.SetMultiProperty($lb("AutoPopup"),$lb("False")) s MApplication.ClientState="Wait" q ]]> Value:%String cache 0 %Library.Status document literal ClassName:%Library.String,HandleAsArray:%Library.Boolean=0 cache 0 document literal ClassName:%Library.String cache 0 %Library.Boolean document literal W") .. Do AddMethods(SuperClassName,ShowInherited) Quit ]]> cache 0 document literal initvalue:%String cache 0 %Library.Status document literal seperated","`") q $$$OK //----------------------------------------------------------------------------- ocAddQueryOutputSep(Caption,Sep) New tmpItem Set tmpItem=##class(%TMMenuItem).%New($lb(..pmUtils.Address,0)) Set tmpItem.Caption=Caption Set tmpItem.Tag=Sep Set tmpItem.OnClick=$LB(%this,"miOutputSepClick") Set tmpItem.RadioItem="True" Do ..hmiOutput.Add(tmpItem) Quit ]]> Args:%String cache 0 document literal Args:%String cache 0 document literal Args:%String cache 0 document literal Args:%String cache 0 document literal Args:%String cache 0 document literal Args:%String cache 0 document literal Value:%Library.Boolean cache 0 %Library.Status document literal SQLCode:%String cache 0 %Library.Boolean document literal Query:%String cache 0 %Library.Boolean document literal cache 0 document literal Caption:%Library.String="" cache 0 document literal Args:%String cache 0 document literal Args:%String cache 0 document literal Args:%String cache 0 document literal Args:%String cache 0 document literal Args:%String cache 0 document literal (Width-2)) $E(Txt,1,Width-3)_"..." New tmpTxt Set tmpTxt=Txt_$J("",Width-$L(Txt)) Quit tmpTxt edsAddLines(Txt,Width) New tmpTxt ;Set $P(tmpTxt,"-",$L(Txt)+1)=$J("",Width-$L(Txt)) Set $P(tmpTxt,"-",Width+1)="" Quit tmpTxt ;End of user code s Args=$lb(Sender) q ]]> Args:%String cache 0 document literal varname:type=default . Set ParaDefault=$P(Para,"=",2) ;- DEFAULT . Set Para=$P(Para,"=",1) ;PARA -> varname:type . Set ParaType=$P(Para,":",2) ;- TYPE . Set ParaName=$P(Para,":",1) ;- PARAMNAME . Set InputPara="" . If $L(ParaDefault) Do .. Set InputPara=ParaDefault . Else If "%STRING/%LIBRARY.STRING"[$ZCVT(ParaType,"U") Do .. Set InputPara="""""" . Set:($$InputBox^vhVisual(MethodName_ " parameters ("_ParamLoop_"/"_AantalParams_")",ParaName_$S($L(ParaType):": "_ParaType,1:""),.InputPara)=$$$mrCancel) EarlyQuit=1 . Set InputParams=InputParams_$S(ParamLoop=1:"",1:",")_InputPara If EarlyQuit Do Quit . Set ..lblResult.Caption="Aborted." ;--------------------------------------------- Set MApplication.ScreenCursor=$$$crHourGlass Set ..btnExecute.Enabled="False" New ErrStr If ..FCurrentORef=$$$NULLOREF Do ;ENKEL CLASSMETHODs . If $L(ResultType) Do .. Set ErrStr=$$iXecute^vhLib("Set ReturnVal=##class("_..FClassName_")."_MethodName_"("_InputParams_")") . Else Do .. Set ErrStr=$$iXecute^vhLib("Do ##class("_..FClassName_")."_MethodName_"("_InputParams_")") Else Do . If $L(ResultType) Do ;'ALLE' METHODs .. Set ErrStr=$$iXecute^vhLib("Set ReturnVal=tmpORef."_MethodName_"("_InputParams_")") . Else Do .. Set ErrStr=$$iXecute^vhLib("Do tmpORef."_MethodName_"("_InputParams_")") Set ..btnExecute.Enabled="True" Set MApplication.ScreenCursor=$$$crDefault If ErrStr'="" Do Quit . Set ..lblResult.Caption="XECUTE ERROR "_ErrStr ; $P(ErrStr,">",1)_">" . Do MApplication.MessageBox(..lblResult.Caption) If $L(ResultType) Do . If ReturnVal="" Do .. Set ..lblResult.Caption="(empty string)" . Else Do .. ;Set ReturnVal=$TR(ReturnVal,$C(10)," ") .. ;Set ReturnVal=$TR(ReturnVal,$C(13)," ") .. If "%STATUS/%LIBRARY.STATUS"[$ZCVT(ResultType,"U") Do ... If $$$ISOK(ReturnVal) Do .... Set ..lblResult.Caption="%Status: Ok." ... Else Do .... Set ..lblResult.Caption="%Status: "_$$ParseStatus^vhLib(ReturnVal) .... Do MApplication.MessageBox(..lblResult.Caption) .. Else If $$IsList^vhLib(ReturnVal) Do ... Set ..lblResult.Caption="$LB"_$$LCVT^vhLib(ReturnVal) .. Else Do ... Set ..lblResult.Caption=ReturnVal . Set:(..chkCopyFunctionResult.Checked="True") MApplication.ClipboardText=ReturnVal Else Do . Set ..lblResult.Caption="Done." ;End of user code s Args=$lb(Sender) q ]]> Args:%String cache 0 document literal Args:%String cache 0 document literal Args:%String cache 0 document literal Args:%String cache 0 document literal Args:%String cache 0 document literal Args:%String cache 0 document literal Args:%String cache 0 document literal Args:%String cache 0 document literal Args:%String cache 0 document literal Args:%String cache 0 document literal Args:%String cache 0 document literal Args:%String cache 0 document literal Args:%String cache 0 document literal cache 0 document literal ClassName:%Library.String cache 0 %Library.Boolean document literal MaxLabelWidth) MaxLabelWidth=LabelWidth Set PropCnt=AllowedPropCnt Set ..aProperties=PropCnt If PropCnt=0 Do Quit 1 . Set ..PropertiesLoaded=1 . Do ..FTriggerEvent(..OnProgress,$LB(%this,"De klasse '"_ClassName_"' bevat enkel private properties.",-1)) . Do MApplication.MessageBox("De klasse '"_ClassName_"' bevat enkel private properties.",..Form.Caption,$$$MBICONINFORMATION) Set CDef="" ; --- INIT --- Set MApplication.ScreenCursor=$$$crHourGlass Set ..sbProperties.Visible="False" ;Interface opbouwen naargelang array New IntLoop,Progress Set IntLoop=1 ;Voor interface... For PropLoop=1:1:PropCnt Do . Set Progress=(PropLoop*100)\PropCnt . Set ..lblExtra.Caption=Progress_"%" . Do MApplication.ProcessMessages() . Do ..FTriggerEvent(..OnProgress,$LB(%this,"Building property "_PropLoop_"/"_PropCnt_"...",Progress)) . Set IntLoop=IntLoop+1 . ;PROPERTY LABEL . Do CreateLabel(PropLoop,IntLoop) . ;PROPERTY EDIT . Do CreateEdit(PropLoop,IntLoop,MaxLabelWidth) ; --- EXIT --- Set MApplication.ScreenCursor=$$$crDefault Set ..sbProperties.Visible="True" Set ..PropertiesLoaded=1 Do ..FTriggerEvent(..OnProgress,$LB(%this,"Done loading properties.",-1)) Quit 1 ;============================================================================== CreateLabel(PropNr,IntNr) New Label Set Label=##class(%TMLabel).%New($LB(%this.sbProperties.Address,0)) If IntNr#2=0 Set Label.Left=25 Else Set Label.Left=500 Set Label.Top=((IntNr-(IntNr#2))*12) Set Label.Caption=..aProperties(PropNr,$$$propName)_":" Set Label.Tag=PropLoop ;Koppeling naar array... Set Label.Enabled="False" If (..aProperties(PropNr,$$$propCollection)'="") || (..aProperties(PropNr,$$$propDatatype)=0) Do . Set Label.Font.Style=$LB("fsUnderline") . Set Label.Font.Color=$$$clNavy . Set Label.Cursor=$$$crHandPoint . Set Label.ShowHint="True" . Set Label.OnClick=$LB(%this,"OnLabelClick") . If ..aProperties(PropNr,$$$propCollection)="" Do //Single value .. Set Label.Hint="Single value: "_..aProperties(PropNr,$$$propType) . Else Do .. Set Label.Hint=..aProperties(PropNr,$$$propCollection)_": "_..aProperties(PropNr,$$$propType) If ..aProperties(PropNr,$$$propMultiDimensional) Do . Set Label.Font.Style=$LB("fsUnderline") . Set Label.Font.Color=$$$clMaroon . Set Label.Cursor=$$$crHandPoint . Set Label.OnClick=$LB(%this,"OnLabelMDClick") Set ..aProperties(PropNr,$$$propObjLabel)=Label Quit ;============================================================================== CreateEdit(PropNr,IntNr,MaxLabelWidth) New Edit ;COMBO (with value items) If (..aProperties(PropNr,$$$propValueList)'="") && (..aProperties(PropNr,$$$propCollection)="") Do . Set Edit=##class(UI.Lib.Ctrl.TDAComboBox).%New($LB(%this.sbProperties.Address,0)) . Set Edit.DisplayList=..aProperties(PropNr,$$$propDisplayList) . Set Edit.ValueList=..aProperties(PropNr,$$$propValueList) ;EDIT Else Do . Set Edit=##class(UI.Lib.Ctrl.TDAEdit).%New($LB(%this.sbProperties.Address,0)) . Set Edit.MinLen=..aProperties(PropNr,$$$propMinLen) . Set Edit.MaxLen=..aProperties(PropNr,$$$propMaxLen) . Set Edit.Scale=..aProperties(PropNr,$$$propScale) . Set Edit.Pattern=..aProperties(PropNr,$$$propPattern) If (..aProperties(PropNr,$$$propCollection)'="") || (..aProperties(PropNr,$$$propDatatype)=0) Do . Set Edit.ReadOnly="True" . Set Edit.BaseColor=15461355 . Set Edit.BaseFontColor=$$$clGray . Set Edit.ShowHint="True" . Set Edit.Hint="This field shows the object reference, click on the label for further details." . ;Set Edit.DragMode="dmAutomatic" . ;Set Edit.Cursor=$$$crHandPoint . ;Set Edit.OnStartDrag=$LB(%this,"dCOMPEVENTStartDrag") . ;Set Edit.OnEndDrag=$LB(%this,"dCOMPEVENTEndDrag") . ;Set Edit.OnDragOver=$LB(%this,"dCOMPEVENTDragOver") . ;Set Edit.OnDragDrop=$LB(%this,"dCOMPEVENTDragDrop") If ..aProperties(PropNr,$$$propCollection)="" Do ;Single Value . Set tmpType=..aProperties(PropNr,$$$propType) . If tmpType["Integer" Set Edit.AllowedCharSet="csInteger" . If tmpType["Float" Set Edit.AllowedCharSet="csFloat" If ..aProperties(PropNr,$$$propMultiDimensional) Do . Set Edit.Text="(MultiDimensional)" Else Do . Set Edit.CoupledProperty=..aProperties(PropNr,$$$propName) If IntNr#2=0 Set Edit.Left=70+MaxLabelWidth Else Set Edit.Left=520+MaxLabelWidth Set Edit.Top=((IntNr-(IntNr#2))*12)-4 Set Edit.Width=250 Set Edit.Tag=PropNr Set Edit.Enabled="False" Set Edit.FCoupledORef=$$$NULLOREF Set Edit.OnMessage=$LB(%this,"OnMessage") Set Edit.OnEnter=$LB(%this,"OnEditEnter") ;Set Edit.OnExit=$LB(%this,"OnEditExit") Set Edit.OnChange=$LB(%this,"OnPropertyChange") Set ..aProperties(PropNr,$$$propObjEdit)=Edit Quit ]]> ORef:%Library.String cache 0 %Library.Boolean document literal 0) Do . Do ..dlgErrorList.Form.ShowModal() Quit 1 ]]> cache 0 %Library.Boolean document literal 0) Do . Do ..dlgErrorList.Form.ShowModal() Quit 1 ]]> ClassName:%Library.String cache 0 document literal ClassName:%Library.String cache 0 document literal cache 0 document literal 0 Do . Set tmpMenuItem=##class(%TMMenuItem).%New($LB(%this.pmAllIDs.Address,0)) . Set tmpMenuItem.Caption="-" . Set:((Loop#20)=0) tmpMenuItem.Break=$$$mbBarBreak . Do ..pmAllIDs.Items.Add(tmpMenuItem) Set Loop=Loop+1 Set tmpMenuItem=##class(%TMMenuItem).%New($LB(%this.pmAllIDs.Address,0)) Set tmpMenuItem.Caption="..." Set tmpMenuItem.OnClick=$LB(%this,"OnpmiIDSelected") Set:((Loop#20)=0) tmpMenuItem.Break=$$$mbBarBreak Do ..pmAllIDs.Items.Add(tmpMenuItem) Quit ]]> cache 0 document literal 0) Do . Set tmpItem=##class(%TMMenuItem).%New($lb(..pmQueries.Address,0)) . Set tmpItem.Caption="-" . Do ..pmQueries.Items.Add(tmpItem) Set tmpItem=##class(%TMMenuItem).%New($lb(..pmQueries.Address,0)) Set tmpItem.Caption="Refresh list..." Set tmpItem.ShortCut=$$$keyF5 Set tmpItem.OnClick=$LB(%this,"DCOMPREFRESHpmQueries") Do ..pmQueries.Items.Add(tmpItem) Set tmpItem=##class(%TMMenuItem).%New($lb(..pmQueries.Address,0)) Set tmpItem.Caption="Dynamic SQL Screen" Set tmpItem.Checked="False" Set tmpItem.OnClick=$LB(%this,"miDynSQLSCreenClick") Do ..pmQueries.Items.Add(tmpItem) Do ..ObjectChanged() Quit //----------------------------------------------------------------------------- AddQueries(ClassName,ShowInherited) Quit:($D(HandledClasses(ClassName))) Set HandledClasses(ClassName)=1 New CDef,Super,Count,Loop,QueryName,Params,ResultType,Private,ExtraTxt,tmpItem,SQLQuery Set CDef=##class(%ClassDefinition).%OpenId(ClassName) Set Super=CDef.Super Set Count=CDef.Queries.Count() If (..pmQueries.Items.Count()>0) && (Count>0) Do . Set tmpItem=##class(%TMMenuItem).%New($lb(..pmQueries.Address,0)) . Set tmpItem.Caption="-" . Do ..pmQueries.Items.Add(tmpItem) For Loop=1:1:Count Do . Set QueryName=CDef.Queries.GetAt(Loop).Name . Set Params=CDef.Queries.GetAt(Loop).FormalSpec . Set:($E(Params)="(") $E(Params)="" . Set:($E(Params,$L(Params))=")") $E(Params,$L(Params))="" . Set SQLQuery=CDef.Queries.GetAt(Loop).SQLQuery . Set tmpItem=##class(%TMMenuItem).%New($lb(..pmQueries.Address,0)) . Set tmpItem.Caption=QueryName . Set tmpItem.Tag=$LB(Params,SQLQuery) . Set tmpItem.OnClick=$LB(%this,"ExecuteQuery") . Do ..pmQueries.Items.Add(tmpItem) Do CDef.%Close() If ShowInherited Do . Quit:(Super="") . New Loop,SuperClassName . For Loop=1:1:$L(Super,",") Do .. Set SuperClassName=$ZSTRIP($P(Super,",",Loop),"<>W") .. Do AddQueries(SuperClassName,ShowInherited) Quit ]]> Args:%String cache 0 document literal Args:%String cache 0 document literal Args:%String cache 0 document literal Args:%String cache 0 document literal Args:%String cache 0 document literal 250 Do .. Set CW=250 . Set ..ColWidth=CW . Set Sender.Checked="True" . Set Sender.Caption="User defined ("_CW_")" Else Do . Set ..ColWidth=Sender.Tag . Set Sender.Checked="True" ;End of user code s Args=$lb(Sender) q ]]> Args:%String cache 0 document literal Args:%String cache 0 document literal Args:%String cache 0 document literal to continue.","Clipboard full",$$$MBICONINFORMATION+$$$MBOKCANCEL) .. Set:(tmpAnswer=$$$mrOk) MApplication.ClipboardText="", CurLen=0 . Quit:(tmpAnswer=$$$mrCancel) . Set MApplication.ClipboardText=MApplication.ClipboardText_OutputStr_$C(13,10) . Set CopCount=CopCount+1 . Set ..lblMsg.Caption="Copying "_CopCount_" ID(s)... "_((CurLen*100)\32000)_"%" Set ..lblMsg.Caption="Copied "_CopCount_" object(s)." ;End of user code s Args=$lb(Sender) q //----------------------------------------------------------------------------- CopyError Set ..lblMsg.Caption="Error during copy" Do MApplication.MessageBox("Er is een fout opgetreden bij het kopiëren.","Data Replicator",$$$MBICONERROR) Set ..lblMsg.Caption=$ZERROR Quit ]]> Args:%String cache 0 document literal Args:%String cache 0 document literal ") For Loop=0:1:..clbIDs.Items.Count-1 Do . Quit:(..clbIDs.GetChecked(Loop)="False") . Set ID=..clbIDs.Items.GetStrings(Loop) . Xecute "Set Exists=##class("_..FClassName_").%ExistsId(ID)" . Quit:('Exists) . Xecute "Set Obj=##class("_..FClassName_").%OpenId(ID)" . Quit:(Obj=$$$NULLOREF) . Do XMLStrings.Add(" ") . Set ..clbIDs.ItemIndex=Loop . Set ..lblMsg.Caption=ID_" ("_Loop_")" . Do MApplication.ProcessMessages() . For PropLoop=1:1:$LL(PropList) Do .. Set PropName=$LI(PropList,PropLoop) .. Xecute "Set PropValue=Obj."_PropName .. Do XMLStrings.Add(" <"_PropName_"> "_PropValue_" ") . Set Count=Count+1 . Do XMLStrings.Add(" ") . Do Obj.%Close() Do XMLStrings.Add("") Set ..lblMsg.Caption=Count_" object(s) XML copied." If ..sdResults.Execute()="True" Do . Do XMLStrings.SaveToFile(..sdResults.FileName) . Do MApplication.Execute("notepad "_..sdResults.FileName) Do XMLStrings.%Close() ;End of user code s Args=$lb(Sender) q ]]> Args:%String cache 0 document literal Args:%String cache 0 document literal Args:%String cache 0 document literal Args:%String cache 0 document literal Args:%String cache 0 document literal 1000 Do .. Set FC=1000 . Set ..FetchCount=FC . Set Sender.Checked="True" . Set Sender.Caption="User defined ("_FC_")" Else Do . Set ..FetchCount=Sender.Tag . Set Sender.Checked="True" ;End of user code s Args=$lb(Sender) q ]]> Args:%String cache 0 document literal Args:%String cache 0 document literal Args:%String cache 0 document literal Args:%String cache 0 document literal Args:%String cache 0 document literal ReleaseProperties:%Library.Boolean=0 cache 0 %Library.Boolean document literal cache 0 %Library.Boolean document literal cache 0 %Library.Boolean document literal Id:%Library.String cache 0 %Library.Boolean document literal cache 0 %Library.Boolean document literal cache 0 %Library.Boolean document literal OpenFirstInMe:%Library.Boolean=0 cache 0 %Library.Boolean document literal MasterORef,ParentORef:%Library.String cache 0 %Library.Boolean document literal Id:%Library.String cache 0 %Library.Boolean document literal ORef:%Library.String cache 0 %Library.Boolean document literal cache 0 %Library.Boolean document literal Args:%String cache 0 document literal Args:%String cache 0 document literal Args:%String cache 0 document literal %Library.CacheSerialState "%Library.TMFormClass" Address Form AssocNode OnActivateMDI Button1 btnLoad IsLoaded OnProgress FClassName OnCloseMDI lblLoadProgress Panel1 PageControl1 TabSheet1 TabSheet2 TabSheet3 TabSheet4 pcObject pnlTop tbMethods tbProperties tbQueries tbSummary pnlTop2 lblClassName ScrollBox1 sbProperties PropertiesLoaded ilObject tbInfo PropertiesAreModified FCurrentORef ClassIsDatatype ClassIsPersistent ClassIsSystem btnSaveObj lblModified frmOpenObject OnAddClass lblExtra dlgErrorList frmChooseObject btnExecute chkCopyFunctionResult chkLoadInherited lbMethods lblMethod pnlMethods btnLoadMethods lblResult chkLoadPrivate btnMethodNamesToClipBoard tbDataReplicator btnUpdate btnRefresh btnClearDynQueries btnExecDynamicSQL btnNextDynQuery btnPrevDynQuery lblCurrent mmoDynamicQuery mmoResults pnlDynQuery hmiColWidth hmiFetchCount hmiOutput miCSV miCW10 miCW20 miCW30 miCW40 miCW50 miCWUserDefined miColumns miCopyRSCode miFC100 miFC200 miFC25 miFC300 miFC400 miFC500 miFCUserDefined miSaveResults miSep1 miSep2 miSep3 miSep6 miShowSQL pmUtils sdResults pmQueries CurrentDynQuery FetchCount LastInputParams LastQueryName LastSQLCode ColWidth splDynQuery CheckBox1 btnQueries lblQueryMsg pnlQueryTop btnXtra chkClearPrevious chkSelAllProps clbIDs clbProperties lblIDs lblMsg lblProperties txtIDFilter MenuItem1 MenuItem3 miCopyCache miCopyExcel miCopyIDs miCopyXML miCreateCopyMethod miCreateNewInstances miDelete pmIDs btnLoadIDs Cancelled ArrayMode btnAllKeys btnBeginKey btnClearArray btnEndKey btnNextKey btnPrevKey lblCount pnlArray txtCurrentKey FMasterORef FParentORef ArrayKey Counter pmAllIDs MenuItem4 QuerySep