Jump to content

adragan

uniGUI Subscriber
  • Posts

    193
  • Joined

  • Last visited

  • Days Won

    9

Everything posted by adragan

  1. 1. Share your local (client) printer 2. Define the local printer as a printer of the server 3. Select from FastReports the respective printer before you do frxReport.Print 4. Print the report directly to the client. N.B. It's only a LAN solution. If you need a general solution things become more complicated.
  2. I think I'll wait for the second update of this product !
  3. The smaller the database , the faster it responds. I would go for multiple databases. There is also the issue of not "mixing" the clients data in case of a single database.
  4. MainModule.BackGroud.URL := 'files/......some picture' doen't work ?
  5. Check if firewall has port 80 open on 192.168.0.1 or, if you run as a service, port 8077 inbound.
  6. adragan

    Push Message

    Thanks everyone. I'll keep you posted.
  7. Maybe I don't understand how it works , but don't you make a separate thread of execution for each user , that is a new "copy" of the isapi.dll in memory ? If we consider that there is no DB server and that the operating system takes only 500 Mb (??). Then 3500 Mb of RAM/ 6.5 Mb = 538 (aprox ) max theoretical users / server. On XE7 3500 / 32 = 109 max uses / server. That is 5 times less users.
  8. Did anyone notice the size difference between Delphi versions ? Same project, same UniGui version, same compiler options ( with debug ), 32bit : Delphi 2006 -> 6.5 MB ISAPI DLL Delphi XE7 -> 32.5 MB ISAP DLL !!!!!! It drastically limits the max no of users on a 32 bit server ! Is it worth upgrading ????
  9. First you have to upload the csv to the server in a folder that is accessible by the application. ( See upload demo ) After that you can import it ( write the respective code yourself !) to where ever you like.
  10. That's not a UniGui issue. It's a database thing ! Filters go extremly slow on any type of component. I never use filters. My advice : Create an id ( autogenerate integer ) on every record in the table . Put a descending index on that Id. Use a query as Oliver showed. Update your graphic with the respective values.
  11. Each application is a combination of both. For heavy processing with lots of calculations , stored procedures works best. It's also a question of being able to rollback transactions in case something goes wrong. For displaying stuff on the screen one have to use dynamic queries.
  12. adragan

    Push Message

    Has anyone an ideea how to push a message from the server to the client browser running a UniGui app ? No Pooling please !.
  13. In this context isn't Lazarus a more "stable" platform ?
  14. See the demo with cookies from kit. Are you sure you want to remember the password also ?
  15. "I want the report generator to create the file and save this on the local machine of the client, perhaps in a specified" SendFile() does that in the Download folder of your browser.
  16. It's a compilation of articles. I'll try to find them again and put the links here.
  17. After a lot of testing the problem was not UniGui but the combination Apache 2.2.22 and Windows 2008. It seems that there is some difference between how Apache handles sockets and what Windows does. Anyway this increased the stability of my production system : in httpd.conf add the following directives : EnableMMAP off EnableSendfile off in httpd-mpm.conf do the following things : <IfModule mpm_winnt_module> Win32DisableAcceptEx ThreadStackSize 4194304 // Fershad says it is not necessary. It's up to you ! ThreadsPerChild 256 // Same MaxRequestsPerChild 0 </IfModule> These solutions were on the net and, at least in my case, worked quite fine. The Apache server does not restart every 1-2 hours any more. For another "flavor" of Apache it's another ballgame but I don't have the nerves to start again. Have fun !
  18. Hi, I am experiencing a lot of stability issues after upgrading to 0.99.10.1176 Apache 2.2.222 complains every 2 hours with no meaningfull error message but continues to go on: It definitively crashes after 2-3 days. [Tue Jun 16 09:05:23 2015] [warn] [client 192.168.100.98] ISAPI: HSE_STATUS_ERROR result from HttpExtensionProc(): D:/webapps/web_crm/crm.dll, referer: http://192.168.100.8/crm/crm.dll Very clear , isn't it ? I stuffed the application with messages and the only interesting thing I get is : ........................................................ 00001A3C: 17:05:31 [TUniGUIServerModule.HandleException]:EAccessViolation : Access violation at address 4559599F in module 'crm.dll'. Read of address 00000090 00001A3C: 17:05:31 []:EUniSessionException : Invalid session or session Timeout. 00001420: 17:05:31 [TUniGUIServerModule.HandleException]:EAccessViolation : Access violation at address 4559599F in module 'crm.dll'. Read of address 00000090 crm: 00001420: 17:05:31 []:EUniSessionException : Invalid session or session Timeout. It's interesting that different IP-s make "Access violation" at the same memory address in spite of the fact that they are supposed to be working in different threads. ............................................................................ Messages from UniServerModule.OnException ............................................................................ crm: 000018C8: 20:24:56 []:------------------------------------------------------------------------- crm: 000018C8: 20:24:56 []:Server Exception ->16.06.2015 20:24:56 IP : 192.168.100.122 Mesaj -> Event:celldblclick, Object: O171B not found in session list. It could be timed out, refresh page and try again < crm: 000018C8: 20:24:56 []:------------------------------------------------------------------------- crm: 000018C8: 20:24:56 [ [192.168.100.122]]:UniErrorException : Event:celldblclick, Object: O171B not found in session list. It could be timed out, refresh page and try again crm: 00000150: 20:24:57 []:------------------------------------------------------------------------- crm: 00000150: 20:24:57 []:Server Exception ->16.06.2015 20:24:57 IP : 192.168.100.122 Mesaj -> Event:cellclick, Object: O171B not found in session list. It could be timed out, refresh page and try again < crm: 00000150: 20:24:57 []:------------------------------------------------------------------------- crm: 00000150: 20:24:57 [ [192.168.100.122]]:UniErrorException : Event:cellclick, Object: O171B not found in session list. It could be timed out, refresh page and try again crm: 00000150: 20:25:00 [192.168.100.122]:Failure Recovery: Sequence Recover: 1775 ........................................................................................................................................................... I increase the session timeout every time it tries to timeout ( according to the demo ). So either objects "disappear" or session really expires in spite of my settings. I also have the feeling that one can write anything in UniServer.SessionTimeout, session expires at a random point in time ! I specifically setted SessionTimeout to 1 hour and it expired in 2 minutes ! From what I analised it seems that I have a scenario like this : 1. Agent gets a call and has the screen open in front of him 2. Agent starts discution with customer ( 5 - 10 min ). 3. Session expires on server but agent has no ideea because the screen is the same . 4. Agent clicks something on the screen. 5. Server does not find the specific object, goes in sharing violation and maybe generates some memory leaks. 6. After some time server crashes when too much memory is either allocated or tries to rewrite over some blocked blocks. N.B App works over LAN. 30-60 users at most. Win 2008 R2. No RichText objects used. No Global Variables. No non-threadsafe function used .No threads other than the ones managed by UniGui. No pointers. I can't run debugger in production environment. Any ideeas ?
  19. Thanks, I'll try that !
  20. I would like to let the users have the posibility of choosing the theme. The demo was not updated to the last version of UniGui. Assigning a value to the UniMainModule.Theme after it was created does nothing. UniMainModule.Theme:='blue'; //Does nothing !! Does anyone know how's done ?
  21. Why do you need Tomcat ? Look at the Deployment part of the forum. You just need Apache or IIS up and running and a *.dll that is your application, and the JavaScript libruaries coppied on the server. The rest is configuring the Apache or the IIS to load the dll.
  22. Why don't you create a "master" database that makes the login ? You store there customer information, payd fees, connection parameters etc in it. If he pays you send him to /customer_n.fdb, if he does not pay , at login you send him fishing !
  23. I agree with the above. Espetially the lookup field is a bothering limitation !
  24. It seems I was to optimistic about "working" export to Excel. There is a problem with exporting long integers so , if you have id-s in the 100000 range or more that you want exported , first cast them as strings. As for a demo, it couldn't be simpler : uses uNativeXLSExport; .................. procedure TUniMainModule.ExportExcel(ADataSet:TDataSet); var fname:string; begin fname := UniServerModule.LocalCachePath + 'E' + FormatDateTime('hhmmss', Now()) + '.xls'; // Create a unique name for report. DataSetToXLS(ADataSet, fname); UniSession.SendFile(fname); end;
×
×
  • Create New...