Jump to content

Tim Koscielski

  • Content Count

  • Joined

  • Last visited

  • Days Won


Tim Koscielski last won the day on February 5

Tim Koscielski had the most liked content!

About Tim Koscielski

  • Rank

Smart Mobile Studio

  • Edition
  1. Tim Koscielski

    Issue with DEVELOPMENT-branch (was BETA) building APP

    Ok, I think I need to go back on all of that above, it was NOT A PROBLEM with the Grid. I think it was a problem with object initialization. In this project, I was using FontAwesome and I had the following for a form in the InitializeObject procedure. I initialized the Grid and added the InnerHTML to a button. procedure TForm_ProjectMasterListN.InitializeObject; begin inherited; {$I 'Form_ProjectMasterListN:impl'} writeln('InitializeObject'); InitGrid; W3Button1.InnerHTML:=#'<i class="fa fa-refresh fa-2x"></i>'; end; As I worked through this I discovered the when I removed InitGrid and the InnerHTML items from InitializeObject, the error went away. I then added these to InitializeForm and it then worked correctly. I am assuming that with some of the new features in this BETA, this is something changed, but also I assume that I had been doing this the wrong way anyway. Now when I run my code in InitializeForm, it all works. If anyone has any additional insight, please let me know. Thank you for the help.
  2. Tim Koscielski

    Issue with DEVELOPMENT-branch (was BETA) building APP

    Thanks. I appreciate you trying it out. Still trying to track down exactly what is the issue with my project.
  3. Tim Koscielski

    Issue with DEVELOPMENT-branch (was BETA) building APP

    OK, now I have some more info. The issue I'm having is specifically with TW3Grid. My code was initially based on the demo provided and does approximately the exact same process. The demo grid project still works exactly as it is, but now I am comparing the two and at the moment everything seems to be reasonably the same In ObjectInitialize in my project, I am creating the columns in the grid with the following code. The very first TW3TextColumn.Create I call is generating the error. I am digging into this later today and I'll continue to update what I find. If anyone has any ideas, please let me know. procedure TForm.InitGrid; var Col_ProjectId: TW3TextColumn; begin Col_ProjectId := nil; Col_ProjectId := TW3TextColumn.Create(W3Grid1 as IW3ColumnsControl); Col_ProjectId.Header.Caption := '#'; Col_ProjectId.Header.Alignment := taCenter; Col_ProjectId.Alignment := taCenter; Col_ProjectId.Width := 100; W3Grid1.Columns.Add(Col_ProjectId); end;
  4. In the previous BETA channel, I had an app that was working just fine. Now in version, the app build creates an error when run. "TypeError, Cannot read property 'FHandle$4' of null" I know this is a BETA, but since it was working in the previous versions and then broke it this one, I'm wondering how I can go about figuring out what might have happened. Just looking for any suggestions to investigate further. Thanks.
  5. Tim Koscielski

    Development updates

    Jarto, I think in the Update list, the date for this update readme lists 2018 and not 2019. You just might want to check. tim
  6. Tim Koscielski

    TW3StringGrid is available

    I have just done a light review of this StringGrid demo and was wondering if TW3Button is an option. What the real question is how to get the unique ID of selected row and then take the user to either a new form or view based on the selected item. At this time, I have used the TW3Grid, but was interested in perhaps switching over to this one.
  7. Tim Koscielski

    Mixing Javascript and SMS

    Thank you for the quick overview. I had seen notes about the handle, but was hoping someone could summarize it here for me. This helps to clarify and gives me a start. I will always try to figure out how to keep things organized in SMS, but for the short term, ASM may be the crutch I need to get things going.
  8. Tim Koscielski

    Mixing Javascript and SMS

    I have been using ASM blocks in my project and find that I want to mix javascript and SMS. Below are two use cases. In an ASM block I would like to set a SMS attribute on a SMS object like a button doing something like TW3Button.Visible := True In an ASM blick I would like to call a SMS procedure or function to complete some common actions Below is my psuedo code which I am hoping someone can correct and give some guidance on. I'm just looking for enough to be dangerous..... EXAMPLE 1: Set attribute on button. asm // Unsure how to do this here to call back to a button in SMS @W3Button1.Visible = True end; Example 2: Call SMS function from a javascript block procedure TForm.DoSomething; begin ShowMessage('Doing something'); end; procedure TForm.OnButtonClick(Sender: TObject); begin asm @DoSomething; end; end; For me this is the simplest I can make it which will help better understand the javascript-SMS links. I am hopeful that you understand, for these examples, it is not exactly how I'm using them, but for understanding I thouhgt this was the easiest examples I could do. Thanks. tim
  9. Tim Koscielski

    Uploading a file that has been selected using INPUT box type=itFile

    Ok, this first follow up is what I did to get it working based on some of the links for handling forms in javascript. Fortunately because I could mix and match SMS Pascal and Javascript, I get the best of both worlds. On my Smart Form, I have a TW3Button and a TW3EditBox with a type of ltFile. Then with the following javascript, I can get the form posted correctly to a backend which is able to capture the file and other variables of the form. Note that the other elements are created dynamically based on an example I was using. The ShowMessage and Alert items were just feedback mechanisms for me to see this part working. Both my DMVC server and a PHP script were able to process this. I am sure that there is a more friendly SMS way of writing this, but for now it got my form working and I was able to continue to plow forward with this upload piece being reasonably well contained. My key take way was getting the file upload field and the code below did the trick. This may not be the best way, but at least it was a starting point. myFile = document.getElementById('id', 'fupload1'); The InitializeObject was important to label the TW3EditBox element correctly. Below that is the code that I stuck in the OnClick event for the button. I saw many other ways to deal with this, but I just wanted to keep it straight forward for the UI. procedure TForm_ImportFile.InitializeObject; begin inherited; {$I 'Form_ImportFile:impl'} W3ButtonBack.InnerHTML := '<i class="fa fa-arrow-left fa-2x"></i>'; // this is a good place to initialize components W3EditBox1.handle.setAttribute('name','fupload'); W3EditBox1.handle.setAttribute('id', 'fupload1'); // Initialize EditBox id to find it with getElementById below W3EditBox1.InputType := itFile; end; // BUTTON CLICK EVENT CODE ShowMessage('Starting'); asm var formData = new FormData(); alert('Trying to get file box'); myFile = document.getElementById("fupload1").files[0]; alert('Got file: ' + myFile.name); formData.append("username", "Groucho"); formData.append("accountnum", 123456); // number 123456 is immediately converted to a string "123456" // HTML file input, chosen by user //formData.append("fupload", fileInputElement.files[0]); //var myFile = new Blob([content], {type: "text/plain"}); formData.append("userfile", myFile, myFile.name); // JavaScript file-like object var content = '<a id="a"><b id="b">hey!</b></a>'; // the body of the new file... var blob = new Blob([content], { type: "text/xml"}); formData.append("webmasterfile", blob); var request = new XMLHttpRequest(); request.open("POST", ""); request.send(formData); end; ShowMessage('Done');
  10. Tim Koscielski

    Uploading a file that has been selected using INPUT box type=itFile

    Thank you for the help. It has gotten me closer, but the SMS approach does not seem to be capturing the data. Also, remember, I am using DMVC to receive the POST, but for the SMS side, I could just as easily be using a server running PHP, NODE.JS or some other mechanism to receive and process the file. My question is more general about how SMS can emulate a form POST to upload the file. Now to the example. I can see the SMS example posting to the correct page, but not the actual data of the file upload component. Using the inspector in Chrome or FireFox and watching the Network activity, for the SMS example in the data section I only see the following which seems to just the the object name and not the data. [object FormData] Now when I compare and use a standard HTML5 form almost exactly like the sample you posted above, the network watcher in the Inspector of the browser shows the following in the Params section for the post which is a sample text file I am posting. It is the same file used via the SMS form and the HTML form. -----------------------------244962545219104 Content-Disposition: form-data; name="fupload"; filename="Hello.txt" Content-Type: text/plain I am a plain text document. -----------------------------244962545219104-- Any thoughts on what might be happening here. I will dig a little deeper into the Javascript processing of FormData, but I'm hoping this feed back can help. I find SMS to be a great tool, but I feel like a beginner still learning this tool. Thanks. Tim
  11. Tim Koscielski

    My forum password...Issues logging in...

    That was it.... Thank you... I am not less confused... <grin>
  12. I am using DMVC and SMS and the user is going to be uploading a file to the server. I can create a simple HTML form which will complete the upload to the DMVC server, but I can't quite figure out how to approach it using SMS. I am hoping to get pointed in the right direction or have some suggested options for uploading the file. This is just something that is going to be simple and I'll save the cool features for later. Ideally I was hoping to upload the file in the background and then provide the user feedback once it was done. Nothing fancy like a progress indicator is needed as these files are small, Are there any samples or places I can look. I am using version Thanks. tim
  13. Tim Koscielski

    My forum password...Issues logging in...

    For some reason, I can't reset my forum password or figure out the login. I have done this routine about 5 times with no luck. The only way I can get logged into the forum is to follow the "I forgot my password" link. The email gives me a link to set a new password which also logs me in, but if I go to a second browser or if I log off, I can't log back into the forum. Any ideas here to fix this. I have tried everything I could and just can't figure it out.
  14. Tim Koscielski

    What happened to VarIsValidRef?

    In the REST code example I have, it looks like the demo has not been updated to work with version var dt := TDateAndTime(JSON.Parse(http.ResponseText)); // dt.date will be 'undefined' if a bad response is returned // this may cause problems in a more complex code but works fine here Log('Date: ' + dt.date); // better way is to test explicitely Log('Time: ' + if VarIsValidRef(dt.time) then dt.time else 'unknown'); Has this function been removed? If so, what is a method to replace this. I saw some commented examples in SmartCL.Graphics.pas, but I was not sure how to handle this. Thanks for any feedback.