Jump to content

Jean-Marc Kiener

uniGUI Subscriber
  • Posts

    220
  • Joined

  • Last visited

  • Days Won

    10

Everything posted by Jean-Marc Kiener

  1. [dcc32 Fataler Fehler] uniGUI25dcl.dpk(73): F2051 Unit ExpertUtilities wurde mit einer unterschiedlichen Version von ToolsAPI.IOTASourceEditor compiliert Tokyo 10.2 Update 2
  2. Yes, i have to know if the cell i click on is on a grouped row or not. With "Row.ChildNodes = 0" i could detect this. That's ok. How can that be done?
  3. Hi, I found this entry but unfortunately no answer to it: http://forums.unigui.com/index.php?/topic/8553-tunidbtreegrid-get-a-specific-cell-value-rowcol/?hl=tunidbtreegrid My problem is that i have to detect if a user has clicked a "grouped" row cell to avoid the action in CellClick( Column: TUniDBGridColumn). Something like if column.GroupIndex > 0... Is there a mechanism for doing such things?
  4. Hi, Thanks to all who had participate to this topic. Very interesting. So maybe as conclusion we could say: Project: Complex, quality is the top priority (medicinal software, rocket steering ): Use MVC approach. Write test code for automatic test scenes ( "continous integration" ). If you are more then one developer team working on the same project, then this approach would recommended. Project: Not very complicated, quality is important but not a killer argument: Use standard "Delphi" approach. OK?
  5. Have no experiences in MVC/UniGui but would be interested too..
  6. HTTP to HTTPS on IIS Note: You must have installed the URL Rewrite Module. 1. You must https and http make aviable for the domain. (For configure SSL see Google ;-)) Then you can configure a Rewrite Rule:
  7. I plan to make a unigui mobile app who should run offline. Has some of you guys experience with this?: https://phonegap.com/ https://www.appypie.com/convert-website-to-mobile-apps Has the unigui framework some helper to save data in the browsers cache (except cookies ;-))?.
  8. Depends on your environment. If you use windows operating system user then keep behind that your unigui module uses the User in which the dll runs for log in to the db server/db. If you use apache then i think its the user the apache service start with. On IIS you can define the user in the application pool. If you define a user in sql server then you are on the easier side. But then you have to set the password in your unigui module what could be a security issue.
  9. Try... TUniServerModule - AutoCoinitialize - True
  10. Hi folks, Yesterday evening we had a meetup of the "delphi group switzerland". I did a little presentation of the uniGUI framework. The participants were enthusiastic about it. Hope some licences get sold :-). Go ahead guys. Well done.
  11. apache: As far as i know apache loads a module on startup and exactliy this instance of the module lives until apache server stops running. A error or memory leak inside your module tends to make the whole apache server instable. That was a main reason why we changed to the IIS. Maybe that behavior has changed meanwhile. IIS: You can configure IIS to load and unload the module as is needed. We running more then 200 modules here on one IIS server. If per example a module get no request 10 min then configure the IIS to unload it. The benefit of this is a smaller overal memory need. Also we can update modules while the IIS keep running. We have serveral application pools configured, so we need only to restart the pool where the updated module lives under. Edit: Of course first try to eliminate memory leaks in your module ;-).
  12. You can use TuniHTMLFrame URL property for showing content of another app in your app. Example: MyHTMLFrame.URL := http://mydomain.com/myapp.dll?param1=xxx&param2=xxx If both apps run in the same domain you can also use Cookies for sharing information between them.
  13. Thanks NEO4A. Yes, i came to an similar approach. Do it the UniGui Way ;-). The build-in-HTTPServer seems not to be able to configure a directory for delivering and Browsing. So i did the following ( based on http://www.swissdelphicenter.ch/en/showcode.php?id=400 ) procedure TfrmMain.CreateDocumentTree; procedure GetDirectories(Tree: TUniTreeView; Directory: string; Item: TUniTreeNode; IncludeFiles: Boolean); var SearchRec: TSearchRec; ItemTemp: TUniTreeNode; begin Tree.Items.BeginUpdate; if Directory[Length(Directory)] <> '\' then Directory := Directory + '\'; if FindFirst(Directory + '*.*', faDirectory, SearchRec) = 0 then begin repeat if (SearchRec.Attr and faDirectory = faDirectory) and (SearchRec.Name[1] <> '.') then begin if (SearchRec.Attr and faDirectory > 0) then Item := Tree.Items.AddChild(Item, SearchRec.Name); ItemTemp := Item.Parent; GetDirectories(Tree, Directory + SearchRec.Name, Item, IncludeFiles); Item := ItemTemp; end else if IncludeFiles then if SearchRec.Name[1] <> '.' then Tree.Items.AddChild(Item, SearchRec.Name); until FindNext(SearchRec) <> 0; FindClose(SearchRec); end; Tree.Items.EndUpdate; end; begin treeDocuments.BeginUpdate; treeDocuments.Items.Clear; try GetDirectories(treeDocuments, FDocumentsPath, nil, True); finally treeDocuments.EndUpdate; end; end; procedure TfrmMain.treeDocumentsDblClick(Sender: TObject); var FilePath: string; n: TUniTreeNode; begin n := treeDocuments.Selected; FilePath := n.Text; while n.Parent <> nil do begin n := n.Parent; Filepath := n.Text + '\' + Filepath; end; FilePath := FDocumentsPath + FilePath; if TFile.Exists( FilePath ) then UniSession.SendFile( FilePath ); end;
  14. My app runs as exe or service. I try to show all the content of UniServerModule.FilesFolderURL in a TUniURLFrame: myURLFrame.URL := ExcludeTrailingPathDelimiter( UniSession.URL ) + UniServerModule.FilesFolderURL ; In other words, i try to show http://localhost:8077/files/in the browser. I always get a "Invalid Session or Session timeout". It is possible to set "Directory listing" on for this directory. In general, how to set a directory for simple directory listing in UniServer? example: http://localhost:8077/myOwnDirectory/
  15. I know that an app on OSX is a (special) directory. However, TUniFileUpload allows me to pick it (Filter = .app). I never get a OnCompleted event. Is there any chance to upload a *.app from OSX to a windows server?
  16. See: http://forums.unigui.com/index.php?/topic/7548-tunitreeview/
  17. it is possible to bind a TUniCheckBox to a colum of a TUniStringGrid? Then i could build a kind of CheckListBox..
  18. Hmmm.... Thinking longer about that stuff maybe i'm trying to solve a problem who does not exists? I mean google login redirect to my browser and nowhere else, so who cares about the unigui session (in my case)? I do all the session handling for my app myself so i don't care which unigui session is active. If i am right then my demo project should work properly...
  19. Hi, i found the example "HTTP Post Callback - Browser Window". Is this the way to go to be "session-safe"? Some hints: - Google does not allow to show her login page in a frame. So i can not use a TuniURLFrame. Instead i use UniSession.UrlRedirect( LURL ); - I can configure the callback url google uses to redirect to my page. Google redirect to this url after successful login and adds the "AuthCode" parameter to the url when redirecting. It's possible to add a parameter to the url which identifiy the caller session? (Ah i see, it is not possible to configure the google redirect url with a url like http://localhost:8077/?session='and add the current unigui session to the parameter. Google accept only a fix redirect URL as far i can see. As workaround for this i found http://stackoverflow.com/questions/7722062/google-oauth2-redirect-uri-with-several-parameters. In a short view i did not understand what they do in the article. Any help is welcome...
  20. OK guys, I turned it to work. I made a small example fo those who are interessted on it. The example reads the E-Mail adddress, name, given name and family name from google account. It is made with Delphi Rad Studio 10.1 Berlin but it should work with all versions who supports REST library. I did not really dived deep in to the REST library so it could be that some things could made easier or more "elegant". It is a prototype. The main problem i see here that if google redirect to my app how can i be shure it is redirecing to the right session? I'm sure the gurus here knows a solution for that.. googleapi.zip
  21. That would be great! Thanks for the Unit anyway. I will study it.
  22. It seems the external link does not work anymore. I try here to implement a login with google authentification (scope: https://www.googleapis.com/auth/userinfo.email).I'm just new in this. I got a OAuth 2.0 client ID, one for websites and one for webserver to webserver. Wich one i must use? Do i implement this on server side or on client side or both/mix? Is there a example for unigui?
  23. Exact same here, turning 50 soon and still use Delphi as my main dev tool. After made some web projects with morfik (which is in my opinion still a great tool but not more maintained) i was evaluating a new tool for doing web application jobs. After trying a lot of tools out there i found uniGUI and i was blown away how easy i could use my old skills to get impressive results for web applications. Thanks to Farshad and his team!
×
×
  • Create New...