Jump to content

mierlp

uniGUI Subscriber
  • Posts

    572
  • Joined

  • Last visited

  • Days Won

    35

Posts posted by mierlp

  1. Hi

     

    I have a form including a dbnavigator for editing product. When the user closes the form the OnClose events is fired

    with the following code. There's a check if the database is in edit or insert mode and if...then fire the message

    for saving or canceling the changes.

     

    procedure TFormProduct.UniFormClose(Sender: TObject; var Action: TCloseAction);
    begin
     if dmMain.Product.State in [dsEdit,dsInsert] then begin
        MessageDlg('Information has been changed but not saved' + '<br/><br/>' + 'Would you like to save the changes (Y/N) ?', mtConfirmation, mbYesNo, QuestionSaveYesNo);
     end;
    end;

     

    This uses the following Callback code :

     

    procedure TFormProduct.QuestionSaveYesNo(Res: Integer);
    begin
     case Res of
       mrYes : dmMain.Product.Post;
       mrNo  : dmMain.Product.CancelUpdates;
     end;
    end;

     

    This should do the trick (normally in vlc it does) but for some reason it doesn't cancel the changes

    and the changes are always saved.

     

    A other behavior is that the form is already close and only the question is on the screen, normally

    both have to be on screen...maybe it's a behavior of EXT JS ?

     

    How to modify it so that the form is still on screen including the message (is Onclose the wrong event?)

    and the changes are canceld.

     

    I still use 0.89 because of the uniEdit desing height issue...which i don'nt know if it's already solved?

     

    Regards Peter

  2. Hi,

     

    After using a ShowMessage for displaying a mesage i can't get back the focus on the field.

    When a user hit's a button the following code is executed. Normally it have to set the

    focus on the field,but this is not working...or i'm doinng something wrong

     

     

    procedure TFormAccountInlog.UniBitBtn_SaveClick(Sender: TObject);
    begin
     if Length(UniEdit_InlogUserName.text)=0 then begin
        ShowMessage('<br/><div align="center">Het invulllen van een gebruikersnaam is verplicht!' + '</div><br/>');
        Abort;
        UniEdit_InlogUserName.SetFocus;
     end;
    end;

     

    Regars Peter

  3. Hi

     

    I was wondering why the cursor is always visible when a message is displayed.

    In my situation i have inlog screen where is checked if the username field is

    filled when the users pressed the OK button

     

    I use this code :

     

      if Length(UniEdit_InlogUserName.text)=0 then begin
        Cursor:=crNone;
        ShowMessage('<br/><div align="center">You need to enter a username!' + '</div><br/>');
        Cursor:=crDefault;
        UniEdit_InlogUserName.Clear;
        UniEdit_InlogUserName.SetFocus;
        Abort;
     end;

     

    Because the focus is on the UniEdit_InlogUserName you see cursor blinking

    through the message... can it be done otherwise ?

     

    Regards Peter

  4. Hi,

     

    For a report and mail function the user must select a file...first he needs to

    select a FastReport report (.fr3) file which is on the server for a preview.

     

    Second he must be able to select one or more file(s) on his desktop to attach with a e-mail.

     

    How can i this be done...because there's nothing like a OpenDialog function i believe.

     

    Regards Peter

  5. Hi Ronak,

     

    Thanks for the tip...it was took some puzzle time, but i got

    it working that way...great/thanks

     

    Regards Peter

     

    Hello,

     

    Try, Creating the AddEmail Active-X object at run time and the set the required property values instead of dropping the component on the form at design time.

     

    Regards

  6. Yep...did set it to TRUE, but didn't solved the problem.

    There another strange behavior of the AddEmail Active X.

    After i put the component on the form, save the project, reopen

    the project the component is not visible any more and when

    compeling i got the message :

     

    Field FormMailBasic.SmtpMail does not have a corresponding component.

    Remove the declaration Yes/No/Cancel

     

    I think it's because the component has a big size icon wereby it's

    'visual'

     

    Regards Peter

     

    Have you tried to set "autocoinicialize" to true? (Autocoinitialize)

  7. Hi Oliver,

     

    The problem then was the replacement from the [LastName] into real fieldnames so it

    can be used with a query. Because the code was unuseless we did'nt used/saved it and found

    other solutions.

     

    I now build my 'simple' mail form (based on you're suggestion) so the user can send a e-mail.

    For sending mail is prefer using stable components. I've tested the following components, which

    are all working in Win32 but have some problems when using them in uniGui:

     

    - Mailbee Smtp ActiveX (http://www.afterlogic.com/mailbee/objects

    but have a problem (Componentent not connected tot a services) when i want the send the message the second time.

    I used it in Win32 apps and it's a older version maybe a upgrade must be done and i will mail them about the error

    - AddEmail ActiveX(http://www.traysoft.com/addemail_overview.htm

    The problem here is a got a AccessViolation when a set the serialnumber for the component...even when i do it in

    uniGui VCL mode...in a normal Win32 applications it's working. I've send them a mail for support.

     

    Both components support a way of bullk mail...so if you have to send 500 mails to you're customers

     

     

    Regards Peter

     

    post-510-0-44361100-1357305437.png

  8. Hi Oliver

     

    In this case they only need 1 query (record) -> 1 mail(body)

    because we only need some fields out of the CONTACT database

    like : LastName, FirstName, MiddeName

     

    Regards Peter

  9. Hi Oliver,

     

    Within our Windows applications we only used 'standard' mail messages.

    Those 'messages/layout' are created in FastReport as a report, so the user

    can access all database and fields he needs. When they send a message the

    report was automaticly exported to a mail.html file which was imported into

    te mail body.

    In this case the user can make his 'message' he wants, including images,

    text, colors etc.

     

    Works fine...but not in uniGui mode...that's also the reason about my

    other thread 'How facilitate reporting'. I have also used 'search/replace'

    but it's to difficult for users.

     

    Regards Peter

     

     

     

    Not at present, but it is planned for the future.

     

    I think i will simply have a text like "dear [NAME], ..." and then replace [NAME] and more by a sql query...

     

    I don't know at this time if we will need master/detail-relations (e.g. invoice items) in the email or sending such things as PDF-Attachment. But i have developped such a behavior (master/detail with text replacing) a few years ago for a RTF-Report. It works, but is too difficult for most users, so we must deliver the "reports" (sql-relations, ...).

  10. Hi Oliver,

     

    Thanks for sharing...looks very nice/good.

     

    How do you send bulk mail and do you use

    some kind of mail merge...integrate some

    personal values from a database ?

     

    Regards Peter

     

     

     

    My current test version looks like this:

     

    post-147-0-15355600-1357137791.png

     

    post-147-0-47624300-1357137764.png

  11. Hi,

     

    I was wondering how you send e-mail. I know Indy can be used, but i find in not the best solution

    for my Win32 applications so i switched to AddEmail from Traysoft. A nice feature is that you can

    import a html file into the body of the message. Using FastReport the user could create a report

    for his e-mail body. The report was exported to html and then imported into the e-mail message body.

     

    AddEmail is a active X and you have several non visual components which can be used with uniGui

     

    Questions:

    - how do you facilitate composing/sending a single mail to a user...do you have a self build

    mail form? normally i used the shellexecute for calling the default mail client...in web mode

    that's not what you want

    - how do facilitate composing/sending bulk mail to all clients within you database?

     

    Tips...suggestions..ideas, samples are welcome

     

     

    Regards Peter

  12. Hi John

     

    Well...for tables and queries it's basicly the same.

    I don't know which components you are using but often you

    need a Connection component where you can enter the:

    - usernamae

    - password

    - database

    - host

     

    A query component is connected to the connection component

    A datasource component has a link to a dataset (query component)

     

    First make the connection component ACTIVE

    Second maken the query componant ACTIVE

     

    Right click on a query component and use the Field Editor to

    add the database fields so you can choose them in a dbgrid.

     

    Regards Peter

  13. Hi,

     

    When running the apps I got the message: 'Extension already exists'

     

    Regards Peter

     

    Hi

     

    And the problem is still there even when i add the code:

     

    procedure TUniServerModule.UniGUIServerModuleCreate(Sender: TObject);
    begin  
     MimeTable.AddMimeType('xls', 'Excel');
    end;

     

    After 3-5 download the file i get the error message.

     

    Regards Peter

  14. You can start a .exe in ISAPI-Module using ShellExecute or CreateProcess, but that is not that what you want, because the program will run on Server (on client you will see nothing). So it makes only sense to use this for starting "command line programs" (without windows/forms). I use CreateProcess to start such processes on server.

     

    Or you can send the .exe to the client and the user must intsall/execute it on the client. But then you have the problem to access the databasse server...

     

    => You need a report builder created with UniGui or other web framework.

     

    Well...the problem is that's not so simple to create a report builder with UniGui because of the

    visual aspect. Viewing is not a problem but give the use a report desinger is a other issue.

     

    Well ...there are two option i think and that's Fast Report Server or the option building a .exe file

    and give it to the user. My Win32 apps is also based on a client which has to be installed and the

    database are on the web server. That's works good and it's a serieus option. It's also possible to

    create a virtuel file from it using VMware Thinstall...in that case no installation has to be done.

     

    Regards PEter

  15. Hi

     

    I use Mysql and myDac from Devart....works

    great and fast...and Devart has good support.

     

    Regards Peter

     

     

     

    You can use all databases which supported by delphi.

     

    Delphinin desteklediği, daha önce çalıştığın tüm veritabanlarını kullanabilirsin.

    • Upvote 1
  16. Hi Marius,

     

    I know about Fast Report Server and if there's no other solution

    then i will buy it....but i think there must be a other solution

    as i described, but i can't test if it's possible to 'start' a .exe

    file from within a isapi.dll version of the application

     

    In the FastReport demo directory there's a demo directory called DLL,

    (but this demo is not working) and i think they use the rptdll.dll

    to create or show a report.

     

    Regards Peter

     

    Hi,

     

    You can possibly investigate the use of FastReport Server, it will cost you some extra money, but maybe it will provide you with a solution.

     

    Fast Report Server

     

    Hope it helps.

     

    Regards

    Marius

  17. Hi,

     

    When running the apps I got the message: 'Extension already exists'

     

    Regards Peter

     

     

     

    Well, I am not sure, but maybe you need to add:

     

    procedure TUniServerModule.UniGUIServerModuleCreate(Sender: TObject);
    begin
     MimeTable.AddMimeType('xls', 'Excel');
    end;

  18. Hi,

     

    Within my application i have a form which contains a listbox with all tables. The user can select

    a table he wants to export. When he hits the export button the following code will be executed:

     

     
         // Database 
         if NOT dmArtist.Artist.Active then
            dmArtist.Artist.Active:=TRUE;
    
         // Excel export 
         scExcelExport.DataSet:=dmArtist.Artist;
         scExcelExport.WorksheetName:='Artiesten';
         scExcelExport.HeaderText.text:='Artiesten per ' +DateToStr(Date) ;
         scExcelExport.ExcelVisible:=false;
         try
           scExcelExport.ExportDataset;
           ExportFile:='Artiesten per ' +FormatDateTime('hhmmss', Time) ;
           scExcelExport.SaveAs(UniServerModule.FilesFolderPath+ExportFile,ffXLS)
         finally
           scExcelExport.Disconnect;
    
           // Save export
           UniSession.SendFile(UniServerModule.FilesFolderPath+ExportFile+'.xls', 'Artiesten.xls');
         end;
      end;

     

    I save the file to UniServerModule.FilesFolderPath and every file will be created. Sometimes after

    3 or 5 export actions (files are created) i got the followin message :

     

    'Cannot open file C:\Data\Delphi\UniGui\myEventWeb\cache\Artiesten per 133412.xls'

    The process has no access to the file because it's used by a other proces

     

    See attachement...it's in Dutch but the translation is above.

     

    I test i local as you can see by the path names.

     

    Regards Peter

    post-510-0-03816000-1356612921.png

×
×
  • Create New...