tlemar

Members
  • Content Count

    45
  • Joined

  • Last visited

Community Reputation

0 Neutral

About tlemar

  • Rank
    Member

Recent Profile Visitors

3,681 profile views
  1. Does anyone have a script for copy a complete channel group to new group scripts and all?
  2. I have been unsuccessful using office365 to send emails. I am using the code shown in the users manual for gmail. It works fine in gmail but does not work in office365 (with the appropriate changes, ie, host, user, password, etc). Has anyone had any luck using office365 as a relay? Private semail = new(CEMail) semail.strhost = "smtp.office365.com" semail.port = 587 semail.strUserName = "user@domain" semail.strPassword = "private" semail.strAuthenticate = "Auto" //"NoLogin", "AuthLogin", "LoginPlain semail.strBody = "Test" semail.strReplyAddress = "support@domain.com" semail.strReplyName = "Support" semail.strSubject = "Tst Sub" semail.strTo = "myuser@domin.com" semail.strConnectionType = "STARTTLS" //"PlainText", "SSL_TLS", "STARTTLS", "AutoUpgradeToSTARTTLS". semail.strSSLProtocol = "TLSv1_2" //, "TLSv1", "TLSv1_1", "TLSv1_2", "DTLSv1" "SSLv2orv3" semail.Send() No errors are returned, but no email is received either. Thanks
  3. Would it be possible to add an "year" timeframe to the licensing options so that I could require annual licensing of the software?
  4. Would it be possible to have enable/disable individual to control which trace display on the graph?
  5. I am trying to import channels into an existing file. Every time I try to import the channels, the existing channels disappear. What am I doing wrong? Tracy
  6. tlemar

    Problem With Popup

    Tried your suggestion. No luck. I have a screen capture that depicts issues. It is to big to attach. Please provide an email address and I will forward it to you.
  7. tlemar

    Problem With Popup

    Can you tell me the best way to initialize these pages? Is there a specific order I should use?
  8. tlemar

    Problem With Popup

    1. No I don't. Should I have a script that goes to each on startup? I have 8 to 10 distinct graphs in this application. 2. Not sure it would help. It seems to work fine during development. Just seems to happen once it is reading channels. I can send you the file privately if it will help. I use the same code on several sites. It works fine on a majority of them but I have notice this issue on several pages lately.
  9. I am having a issue with a popup window that does not show up until I return to the main page. I implemented a script that loads the popup using PopupModal(0). I use the same script for each graph page. They all work correctly in design time, but in run time, several of the popups will not appear until you until I return to the main screen of my program. If I push the button to load the popup three times, I will get three instatnces of the popup when I return to the main page. I does not happen on every page but is consistent on which pages that it happens. I am using the most current build of 5.91. Function code Function Display_Graph_Range(string VarName, string GraphType) Try execute("component." + VarName + "_Graph.YAxisFrozen = 0") execute("component." + VarName + "_Graph.XAxisFrozen = 0") Private string XStartName = VarName + "_X_Start" Private StartTime = Systime() - 3 * 86400 Private string XEndName = VarName + "_X_End" Private EndTime = Systime() execute(XStartName + ".addValue(" + StartTime + ")") component.eb_Graph_X_Start.Contents = Evaluate(VarName + "_X_Start[0]") component.eb_Graph_X_Start.strSetChannel = VarName + "_X_Start" execute(XEndName + ".addValue(" + EndTime + ")") component.eb_Graph_X_End.Contents = Evaluate(VarName + "_X_End[0]") component.eb_Graph_X_End.strSetChannel = VarName + "_X_End" ?VarName ?GraphType Switch Case(GraphType == "X") page.Show_Popup_X_Range.PopupModal(0) Case(GraphType == "XY") component.eb_Graph_Y_Start.Contents = Evaluate(VarName + "_Y_Start[0]") component.eb_Graph_Y_Start.strSetChannel = VarName + "_Y_Start" component.eb_Graph_Y_End.Contents = Evaluate(VarName + "_Y_End[0]") component.eb_Graph_Y_End.strSetChannel = VarName + "_Y_End" page.Show_Popup_XY_Range.PopupModal(0) Case(GraphType == "XYY") component.txt_LeftAxis1.strText = evaluate("component." + VarName + "_Graph.LeftAxis1.strLabel") component.txt_RightAxis1.strText = evaluate("component." + VarName + "_Graph.RightAxis1.strLabel") component.eb_Graph_Y1_Start.Contents = Evaluate(VarName + "_Y_Start[0]") component.eb_Graph_Y1_Start.strSetChannel = VarName + "_Y_Start" component.eb_Graph_Y1_End.Contents = Evaluate(VarName + "_Y_End[0]") component.eb_Graph_Y1_End.strSetChannel = VarName + "_Y_End" component.eb_Graph_Y2_Start.Contents = Evaluate(VarName + "_Y2_Start[0]") component.eb_Graph_Y2_Start.strSetChannel = VarName + "_Y2_Start" component.eb_Graph_Y2_End.Contents = Evaluate(VarName + "_Y2_End[0]") component.eb_Graph_Y2_End.strSetChannel = VarName + "_Y2_End" page.Show_Popup_XYY_Range.PopupModal(0) Case(GraphType == "XYYY") component.txt_LeftAxis1.strText = evaluate("component." + VarName + "_Graph.LeftAxis1.strLabel") component.txt_RightAxis1.strText = evaluate("component." + VarName + "_Graph.RightAxis1.strLabel") component.txt_RightAxis2.strText = evaluate("component." + VarName + "_Graph.RightAxis2.strLabel") component.eb_Graph_Y1_Start.Contents = Evaluate(VarName + "_Y_Start[0]") component.eb_Graph_Y1_Start.strSetChannel = VarName + "_Y_Start" component.eb_Graph_Y1_End.Contents = Evaluate(VarName + "_Y_End[0]") component.eb_Graph_Y1_End.strSetChannel = VarName + "_Y_End" component.eb_Graph_Y2_Start.Contents = Evaluate(VarName + "_Y2_Start[0]") component.eb_Graph_Y2_Start.strSetChannel = VarName + "_Y2_Start" component.eb_Graph_Y2_End.Contents = Evaluate(VarName + "_Y2_End[0]") component.eb_Graph_Y2_End.strSetChannel = VarName + "_Y2_End" component.eb_Graph_Y3_Start.Contents = Evaluate(VarName + "_Y3_Start[0]") component.eb_Graph_Y3_Start.strSetChannel = VarName + "_Y3_Start" component.eb_Graph_Y3_End.Contents = Evaluate(VarName + "_Y3_End[0]") component.eb_Graph_Y3_End.strSetChannel = VarName + "_Y3_End" page.Show_Popup_XYYY_Range.PopupModal(0) EndCase Catch() ?strLastError LocalError.addValue("Display Graph Range => " + strLastError) EndCatch Calling Code Display_Graph_Range("GW", "XY")
  10. tlemar

    Axis Annotation

    I am still having this issue. Am I doing something wrong? Thanks
  11. tlemar

    More Alarm Features

    Te duplicate alarm feature was just what I was looking for. It worked perfect. Is it possible to do the same with channels and/or channel groups (ie, include event code with the duplication)?
  12. Since I got the last one so fast, I thought I would push my luck a little bit. Is it possible to allow duplication of existing alarms. I would like to be able to duplicate an existing alarm events and all. I would be glad to do via code if I had access to the events for the alarms. Also I would like a way to reference the alarm name from within the events. Right now I have to do Private string AlarmAddress = "GW_0__Overload__Alarm" Private string AlarmAction = "FIRED" //START CODE Private string LocationName Private string AlarmDescription = evaluate("alarm." + AlarmAddress + ".strDescription") Private String SendTo Private AlarmPriority = evaluate("alarm." + AlarmAddress + ".Priority") Would like to do something like: Private string AlarmAddress = Me.strName Private string AlarmAction = Me.Action //START CODE Private string LocationName Private string AlarmDescription = Me.strDescription Private String SendTo Private AlarmPriority = Me.Priority This would allow my code to be identical for each alarm which would greatly simplify my coding.
  13. tlemar

    New List

    Is it possible to get an Alarm.ListAll function? It would be useful for me to be able to populate an array of all the alarm names.
  14. Please add the ability to import/export conversions or copy them between projects.
  15. tlemar

    New Features

    Thanks for the advice Steve. I have used this method in the past but I does not include any of the event code, which in my case is significant. I use the same devices in most of the files, if there was some way to copy everything or to add a device template (which might be more powerful and easier to implement in code) it would save me a significant amount of time.