Jump to content


  • Content Count

  • Joined

  • Last visited

Community Reputation

2 Neutral
  1. I am emailed html files that link to a Cisco "Secure Email Encryption Service". I can load the downloaded html into a TEdgeBrowser, manually enter the password, click the button, and access the content using document.innerHTML. I need to be able to get the program to fill in the password and click the submit button. Nothing happens when I execute the code I expect to work. I created the following a test form which uses the same input and button: <form action="https://www.google.com" method="post"> Password: <input name="key1" id="passwordInput1" autocomplete="off" type="password"><br> <input type="submit" "id="text_i18n.authframe.safr.button.openonline" value="Open Online" name="openButton"> </form> I set the password using: document.getElementById("passwordInput1").value = 'mypass' I click the button using: document.querySelector("input[type=submit]").click(); Everything works as expected with my test form but I am unable to accomplish this with the "Secure" form. This is likely because the values are embedded in other elements. The structure is very complex and I am leaving out many table rows and other details. I think I have identified the important elements as shown below: <table id="outerTable" <tbody> <tr> <td id="iframelocation"> <iframe id="authFrame" #document >html> <body> <form> <table class="mainWIndow"> <tbody> <tr> <td id="heightControl" <table> <tbody> <tr> <td> <table id=borderTable"> <tbody> <tr> <td id=passwordEntry1"> <p> <input size="20" maxlength="127" name="key1" id="passwordInput1" placeholder="Secure Email Encryption Service Password" title="Enter your password here" autocomplete="off" type="password" style="width: 100%;"> </input> The button is in <td id="openButtonLocation"> in <td id="buttonContainer" eventually going batck to <tr id=buttonRow", etc. and is defined as: <input type="submit" id="text_i18n.authframe.safr.button.openonline" value="Open Online" name="openButton" onclick="openOnline()" class="btn"> The ExecuteScript seems to only execute one line of javascript so I am not sure how to access the field and the button. What do I need to do differently? I would also like to be able to accomplish this using the types (password and submit) instead of the Id once I get this working. Thanks
  2. I deleted invalid paths in "tools options language Delphi library" for "library path", "browsing path", and "Debug DCU path" in both Win-32 and Win-64. Compiling units with "Window" in the use clause fails with the message "[dcc32 Fatal Error] Form.pas(10): F2613 Unit 'Windows' not found." Any unit from WinAPI such as Messages results in similar fatal errors. I can bypass the error by using "WinAPI.WIndows, WinAPI.Messages," instead of "WIndows, Messages". System units such as "SysUtils" can still be used without the need to qualify as "System.SysUtils". I am using RadStudio 11 Alexandria.. Is there a way to resolve this issue without reinstalling? Thanks
  3. Thanks for your help. The issue is resolved. I reported the bug and your solution: https://quality.embarcadero.com/browse/RSP-32465
  4. Thanks for your solutions but I am asking how to get the FDBatchMove to properly handle the situation.
  5. I am using a TFDMemTable to import text data. When processing comma delimited files with double-quoted values an error occurs when the last line in the file does not have a line feed. To reproduce this problem create a text file with the following values in notepad: "name","date","amount" "Alpha","1/1/2021","100" "Bravo","1/2/2021","200" "Charlie","1/3/2021","300" Make sure you save the file with the final cursor at the end of the "Charlie" line. The following error will occur on BatchMove.Execute; The error does not occur if double-quote characters are not used. The error does not occur if you add a line feed so the cursor is on the line after "Charlie" when the file is saved. myTable := TFDMemTable; myReader := TFDBatchMoveTextReader; myWriter := TFDBatchMoveDataSetWriter; myMover := TFDBatchMove; procedure Test (const p_FileName: String); var // --- Added in attemp to bypass the issue I: Integer; // --- Added in attemp to bypass the issue begin myReader.FileName := p_FileName; for i := 0 to myReader.Datadef.Fields.Count-1 do // --- Added in attemp to bypass the issue myReader.Datadef.Fields.DataType := atString; // --- Added in attemp to bypass the issue myReader.DataDef.WithFieldNames := True; myWriter.DataSet := myTable; myWriter.Optimise := False; myMover.Reader := myReader; myMover.Writer := myWriter; myMover.GuessFormat; myMover.Analyze := [taDelimSep, taHeader, taFields]; myMover.AnalyzeSample := 50; myMover.Execute; end; The files being processed are automatically obtained from other systems. We cannot control the presence of the linefeed without modifying the received file. Can you please advise on how to handle this issue?
  6. Our web applications have been moved to IIS on a server running Microsoft Windows Server 2019 Standard. I have two SOAP applications (Delphi 10.3.3) running on the server. One of the SOAP applications is accessed by external third-party clients and works fine. The second SOAP application handles geocoding tasks for internal users and is accessed using our main client application (Delphi XE2). When users access the geocoding SOAP over https, they get the message: "A certificate is required to complete client authentication - URL:https:.../indigoservice.exe/soap/IIsservices - SOAPAction:urn:IsServicesIntf-IIServices#GeocodeArea" I can't install certificates on users computers and so I don't know how to resolve this issue. I made changes to the SOAP source to run over http and opened the http port on the server. That didn't work either as users get the message: Class not registered, ClassID: {C0EAC9EB-1D02-4BD9-8DAB-4BF922C8CD13}. I can rewrite the routine without using SOAP but would like to get this online ASAP. What can be done to get this working? Thanks