Jump to content

Mark-

Members
  • Content Count

    208
  • Joined

  • Last visited

  • Days Won

    1

Posts posted by Mark-


  1. Hello,

     

    If you made the code:

     MyTime := EncodeTime(20,45,0,0);
     BackUpStart := EncodeTime(20,30,0,0); // which is 20:30
     BackUpEnd := BackUpStart + EncodeTime(0,30,0,0); // which is 21:00

    The "if" works so something in the first three lines is amiss.

    I suspect "dm.SettingBACKUPHOUR.AsDateTime" is returning a full date AND time. TTime is a TDateTime. Remove the date portion if present.

     

    Good luck,

     

    Mark

     


  2. Hello,

     

    We and our customers have used many email servers/services to send notification emails.

    A customer wanted to use Outlook.com and was unable to send a test message.

    Normally we put the email address in the “RcptName” list and the person’s name in the “HdrTo” property.

    I investigated and found Outlook.com required the header “to” field must be or contain the email address.

    We used:

    RcptName.Add('example@123ABC.com')
    HdrTo:=’Bob’

    With OutLook.com we had to use:

    RcptName.Add('example@123ABC.com')
    HdrTo:= 'example@123ABC.com'

    Or

    RcptName.Add('example@123ABC.com')
    HdrTo:= 'Bob <example@123ABC.com>'

    Anyone predict a problem using: “HdrTo:= Bob <example@123ABC.com>” with all servers/services?

     

    Thanks,

     

    Mark

     


  3. 6 hours ago, Joseph MItzen said:

    It's 2022. Why does anyone need 32 bit? Windows isn't even available in 32bit anymore starting with Windows 11.

    Your view of the landscape appears to be limited.

    • Haha 1

  4. Hello,

     

    What I came up with for my needs.

    procedure SaveVTToFileLikeTTreeView(tree:TVirtualStringTree; const fName:string);
    var
     data:TVTABFetch;
     strList:TStringList;
     tmpNode:PVirtualNode;
    
     function CreateTabPrefix(count:integer):string;
     var
      i:integer;
     begin
      result:='';
      for i:=0 to count -1 do
       result:=result + #09;            //tab
     end;
    
    begin
     if (fName = '') then
      Exit;
    
     strList:=TStringList.Create;
     if not Assigned(strList) then
      Exit;
    
     try
      tmpNode:=tree.GetFirst;
      if not Assigned(tmpNode) then   //if nothing, scram
       Exit;
    
      repeat
       data:=TVTABFetch(Pointer(tree.GetNodeData(tmpNode)^));
       if Assigned(Data) then            //safety
        strList.Add(CreateTabPrefix(tree.GetNodeLevel(tmpNode)) + data.caption);
    
       tmpNode:=tree.GetNext(tmpNode);
    
      until (not Assigned(tmpNode));
    
      strList.SaveToFile(fName);
     finally
      strList.free;
     end;
    end;

    Cheers,

     

    Mark


  5. Hello,

     

    Delphi 10.2

     

    I just started using TVirtualStringTree and all is working well (Thanks Jam Software). I need to save all the node captions to a text file with the same format as TTreeview (tab character for indent level followed by caption string) so, at a later time, the file can be loaded and parsed. Has anyone done such a thing?

     

    Cheers,

     

    Mark


  6. Hello,

     

    This might seem silly. Used a few programming languages over the years. Would you expect the code below to produce the same result? 7

    Did not find a reference in the help system.

    procedure TestOrder;
    var
     index,finalValue:integer;
    
     function ResultIsFive(var i:integer):integer;
     begin
      result:= 3 + 2;
      Inc(i);
     end;
    
    begin
      index:=1;
      finalValue:=index + ResultIsFive(index);
      ShowMessage(IntToStr(finalValue));
    
      index:=1;
      finalValue:=ResultIsFive(index) + index;
      ShowMessage(IntToStr(finalValue));
    end;

    Thanks,

     

    Mark


  7. Thanks for the response "Kas Ob.".

     

    This issue is not about the application closing. These form A come and go in a 24/7 program. The possible changes are limited to the areas I mentioned, in form A. The user designs/creates/codes/uses/etc. these form A. We provide the IDE and execution of the user created form A inside the main program, like an add on, along with other user configurable features.

     

    Large changes to a huge program for one issue with the form A, that was actually found by destructive testing, a user in 14 years has never created the issue, is not prudent/practical/etc.

     

    Again, thanks for the reply.


  8. Hello,

     

    Delphi 10.2.3, VCL

     

    Might seem simple but I have not run into this issue and have limits on what changes I can make.

     

    Form A is opened containing one button. The button opens a modal dialog, form B, displaying a message. Before the user can close form B, another part of the program posts a close message to form A and it closes. The user closes form B, leading to a crash.

     

    Setting a flag to indicate a modal dialog has been opened to prevent form A from closing is not possible. That would be a big change. Users design the screens and run script, etc.

     

    I can change the FormCloseQuery, FormClose and FormDestroy of form A.

     

    Finding what to check in the form properties/methods has produced no joy. Forest for the trees might be present.

     

    Any ideas?

     

    Thanks,

     

    Mark

     

     

     

     


  9. Couple of ways to accomplish it,

    One simple method.

     

    type
     TVariantArray = array of variant;
    
    function Foo(data:byte):TVariantArray;
    begin
     SetLength(result,2);
     result[0]:=data + 123;
     result[1]:='ABCD';
    end;
    
    procedure FooTest;
    var
     res:TVariantArray;
    begin
     res:=Foo(1);
     ShowMessage(IntToStr(res[0]) + ' ' + res[1]);
    end;

     


  10. Thanks for the response.

     

    >Do you really need the IDE embedded in your application or could you treat it as a remote execution / debug scenario?

     

    Embedded.

     

    >Which code, Delphi or the Python script, do you need the user to be able to watch / step into?

     

    Python. Just like we do with TMS Scripter.

     

    >Could you use PY4D to host the interpreter and then remote attach to it with the IDE?

     

    I have not used PY4D. Is this different from the first question?

     

×