MarcoPis
-
Posts
14 -
Joined
-
Last visited
Content Type
Profiles
Forums
Events
Posts posted by MarcoPis
-
-
35 minutes ago, Sherzod said:
Sorry?
In these 3 topics i can't answer anymore.
1.
2.
3.
maybe i don't know how to use the forum, but I can answer in this topic and I can't answer in the linked topics.
-
2 hours ago, wilton_rad said:
create a specific email to access the portal that is known to the company you work for
type
uniguisupportyourcompany@gmail.comyour boss will know the password that will be used to access the forum
if tomorrow you leave the company, he will be able to change the password and move to a new employee
I suggest not using your personal email
now it's not up to criticize the support of unigui where we always have help not only from the community
but also from our master farshard, who is always looking to help us.
I just asked my boss for his UniGui Forum credentials and he gave me. But it is not the right way I should ask for support.
I understand you don't want to help anyone who uses an illegal license, but that way it's a bit of an exaggeration. I also gave you the name of my company so you can also take the risk of answering me.
Now I will be forced to use an account not in my possession to ask for help, futhermore, my topic is also about a bug report, and not just a fix for me.Finally, if you can't answer, don't ask for information by closing the topic. Sherzod, closed 3 of my topics for no reason. If you ask what version of UniGui I have, you can let me answer instead of force creating a new topic
-
Hi all,
I'm sorry for this bad review but it is necessary.
I work in a company and I do not have access to portal FMSoft to set my eMail. I also asked my Company Owner for these credentials but he declined. That means I can't complete this procedure :
It is difficult to find support for Delphi and it is not fair to be denied your help. Fortunately for you, the choice of software is not up to me. I will certainly report what happened to my managers. It would also be right not to close topics for no reason.
- 1
-
Hi,
Sorry for this new topic, but I was unable to answer on the old post.
I just made a HTTP call in UniGui Desktop and it works perfectly.
I made the same in UniGui Mobile using mobile components and it's not working.
I Have Delphi 10.3 and UniGui (Complete Professional) 1.90.0.1545.
I can't set the EMail, because i'm in a company and I have not credentials for login in FMSoft. If it can help my Company is Tinn S.r.l from Italy.
HTTP - Request
procedure TUFmLoginm.btLoginRequestClick(Sender: TObject); Var aUrlSubmit, aUrlCancel, aUrl, sProtocol :string; Begin frmPinm.UnimURLFrame1.URL := ''; if UniServerModule.PINEndPoint.Contains('https') then sProtocol := 'https' else sProtocol := 'http'; aUrlSubmit := UniSession.CallbackUrlEx('loggedwithcredentials', self, ['RES', 'OK']); if sProtocol.Contains('https') and not aUrlSubmit.Contains('https') then aUrlSubmit := aUrlSubmit.Replace('http', sProtocol, []); aUrlSubmit := aUrlSubmit.Replace(#$D#$A, '', [rfReplaceAll]); aUrlSubmit := TNetEncoding.URL.Encode(TStringRoutines.GetBase64CryptedString(aUrlSubmit)); aUrlCancel := UniSession.CallbackUrlEx('logincancelled', self, ['RES', 'Cancel']); if sProtocol.Contains('https') and not aUrlCancel.Contains('https') then aUrlCancel := aUrlCancel.Replace('http', sProtocol, []); aUrlCancel := aUrlCancel.Replace(#$D#$A, '', [rfReplaceAll]); aUrlCancel := TNetEncoding.URL.Encode(TStringRoutines.GetBase64CryptedString(aUrlCancel)); if TUniGUIApplication(UniApplication).Parameters.values['gestore'].IsEmpty then aUrl := UniServerModule.PINEndPoint+'/?action=authn&gestore='+UniMainModule.gestore+'&url_submit='+aUrlSubmit+'&url_cancel='+aUrlCancel+'&_S_ID='+UniSession.SessionId+'&appid='+UniMainModule.appID else aUrl := UniServerModule.PINEndPoint+'/?action=authn&gestore='+TUniGUIApplication(UniApplication).Parameters.values['gestore']+'&url_submit='+aUrlSubmit+'&url_cancel='+aUrlCancel+'&_S_ID='+UniSession.SessionId+'&appid='+UniMainModule.appID; frmPinm.UnimURLFrame1.URL := aURL; frmPinm.Show End;
End Point
procedure TFrmAuthnm.FormPost; var data_event : string; begin { ... elaboration ... } with UniMainModule.GetDM do begin if not UniMainModule.Url_submit.IsEmpty then begin if FResponsePost then begin s := 'var f = document.createElement("form"); '+ 'f.action="'+UniMainModule.Url_submit+'"; '+ // the second app url 'f.method="POST"; '; s := s+ 'var i=document.createElement("input"); '+ // url_submit 'i.type="hidden"; '+ 'i.name="data_event"; '+ 'i.value="'+TNetEncoding.Url.Encode(data_event)+'"; '+ 'f.appendChild(i); '; s := s+ 'document.body.appendChild(f); '+ 'f.submit(); '; UniSession.AddJS(s) end else UniSession.UrlRedirect(UniMainModule.Url_submit+'&data_event='+TNetEncoding.Url.Encode(data_event)); end; end;
Ajax Event that intercept CallBack
procedure TUFmLoginm.UnimLoginFormAjaxEvent(Sender: TComponent; EventName: string; Params: TUniStrings); var jsonResponse, aURL : string; credentials : TLoginCredentials; begin if (EventName = 'loggedwithcredentials') and (Params.Values['RES']='OK') then begin if not Params.Values['data_event'].IsEmpty then begin // elab .... frmPinm.Hide; ModalResult := mrOK finally credentials.Free end end end end;
All works fine except AjaxEvent that doesn't intercept the EventName "loggedwithcredentials".
-
Hi,
Sorry for this new topic, but I was unable to answer on the old post.
I just made a HTTP call in UniGui Desktop and it works perfectly.
I made the same in UniGui Mobile using mobile components and it's not working.
I Have Delphi 10.3 and UniGui (Complete Professional) 1.90.0.1545
HTTP - Request
procedure TUFmLoginm.btLoginRequestClick(Sender: TObject); Var aUrlSubmit, aUrlCancel, aUrl, sProtocol :string; Begin frmPinm.UnimURLFrame1.URL := ''; if UniServerModule.PINEndPoint.Contains('https') then sProtocol := 'https' else sProtocol := 'http'; aUrlSubmit := UniSession.CallbackUrlEx('loggedwithcredentials', self, ['RES', 'OK']); if sProtocol.Contains('https') and not aUrlSubmit.Contains('https') then aUrlSubmit := aUrlSubmit.Replace('http', sProtocol, []); aUrlSubmit := aUrlSubmit.Replace(#$D#$A, '', [rfReplaceAll]); aUrlSubmit := TNetEncoding.URL.Encode(TStringRoutines.GetBase64CryptedString(aUrlSubmit)); aUrlCancel := UniSession.CallbackUrlEx('logincancelled', self, ['RES', 'Cancel']); if sProtocol.Contains('https') and not aUrlCancel.Contains('https') then aUrlCancel := aUrlCancel.Replace('http', sProtocol, []); aUrlCancel := aUrlCancel.Replace(#$D#$A, '', [rfReplaceAll]); aUrlCancel := TNetEncoding.URL.Encode(TStringRoutines.GetBase64CryptedString(aUrlCancel)); if TUniGUIApplication(UniApplication).Parameters.values['gestore'].IsEmpty then aUrl := UniServerModule.PINEndPoint+'/?action=authn&gestore='+UniMainModule.gestore+'&url_submit='+aUrlSubmit+'&url_cancel='+aUrlCancel+'&_S_ID='+UniSession.SessionId+'&appid='+UniMainModule.appID else aUrl := UniServerModule.PINEndPoint+'/?action=authn&gestore='+TUniGUIApplication(UniApplication).Parameters.values['gestore']+'&url_submit='+aUrlSubmit+'&url_cancel='+aUrlCancel+'&_S_ID='+UniSession.SessionId+'&appid='+UniMainModule.appID; frmPinm.UnimURLFrame1.URL := aURL; frmPinm.Show End;
End Point
procedure TFrmAuthnm.FormPost; var data_event : string; begin { ... elaboration ... } with UniMainModule.GetDM do begin if not UniMainModule.Url_submit.IsEmpty then begin if FResponsePost then begin s := 'var f = document.createElement("form"); '+ 'f.action="'+UniMainModule.Url_submit+'"; '+ // the second app url 'f.method="POST"; '; s := s+ 'var i=document.createElement("input"); '+ // url_submit 'i.type="hidden"; '+ 'i.name="data_event"; '+ 'i.value="'+TNetEncoding.Url.Encode(data_event)+'"; '+ 'f.appendChild(i); '; s := s+ 'document.body.appendChild(f); '+ 'f.submit(); '; UniSession.AddJS(s) end else UniSession.UrlRedirect(UniMainModule.Url_submit+'&data_event='+TNetEncoding.Url.Encode(data_event)); end; end;
Ajax Event that intercept CallBack
procedure TUFmLoginm.UnimLoginFormAjaxEvent(Sender: TComponent; EventName: string; Params: TUniStrings); var jsonResponse, aURL : string; credentials : TLoginCredentials; begin if (EventName = 'loggedwithcredentials') and (Params.Values['RES']='OK') then begin if not Params.Values['data_event'].IsEmpty then begin // elab .... frmPinm.Hide; ModalResult := mrOK finally credentials.Free end end end end;
All works fine except AjaxEvent that doesn't intercept the EventName "loggedwithcredentials".
-
Hi,
I just made a HTTP call in UniGui Desktop and it works perfectly.
I made the same in UniGui Mobile using mobile components and it's not working.
HTTP - Request
procedure TUFmLoginm.btLoginRequestClick(Sender: TObject); Var aUrlSubmit, aUrlCancel, aUrl, sProtocol :string; Begin frmPinm.UnimURLFrame1.URL := ''; if UniServerModule.PINEndPoint.Contains('https') then sProtocol := 'https' else sProtocol := 'http'; aUrlSubmit := UniSession.CallbackUrlEx('loggedwithcredentials', self, ['RES', 'OK']); if sProtocol.Contains('https') and not aUrlSubmit.Contains('https') then aUrlSubmit := aUrlSubmit.Replace('http', sProtocol, []); aUrlSubmit := aUrlSubmit.Replace(#$D#$A, '', [rfReplaceAll]); aUrlSubmit := TNetEncoding.URL.Encode(TStringRoutines.GetBase64CryptedString(aUrlSubmit)); aUrlCancel := UniSession.CallbackUrlEx('logincancelled', self, ['RES', 'Cancel']); if sProtocol.Contains('https') and not aUrlCancel.Contains('https') then aUrlCancel := aUrlCancel.Replace('http', sProtocol, []); aUrlCancel := aUrlCancel.Replace(#$D#$A, '', [rfReplaceAll]); aUrlCancel := TNetEncoding.URL.Encode(TStringRoutines.GetBase64CryptedString(aUrlCancel)); if TUniGUIApplication(UniApplication).Parameters.values['gestore'].IsEmpty then aUrl := UniServerModule.PINEndPoint+'/?action=authn&gestore='+UniMainModule.gestore+'&url_submit='+aUrlSubmit+'&url_cancel='+aUrlCancel+'&_S_ID='+UniSession.SessionId+'&appid='+UniMainModule.appID else aUrl := UniServerModule.PINEndPoint+'/?action=authn&gestore='+TUniGUIApplication(UniApplication).Parameters.values['gestore']+'&url_submit='+aUrlSubmit+'&url_cancel='+aUrlCancel+'&_S_ID='+UniSession.SessionId+'&appid='+UniMainModule.appID; frmPinm.UnimURLFrame1.URL := aURL; frmPinm.Show End;
End Point
procedure TFrmAuthnm.FormPost; var data_event : string; begin { ... elaboration ... } with UniMainModule.GetDM do begin if not UniMainModule.Url_submit.IsEmpty then begin if FResponsePost then begin s := 'var f = document.createElement("form"); '+ 'f.action="'+UniMainModule.Url_submit+'"; '+ // the second app url 'f.method="POST"; '; s := s+ 'var i=document.createElement("input"); '+ // url_submit 'i.type="hidden"; '+ 'i.name="data_event"; '+ 'i.value="'+TNetEncoding.Url.Encode(data_event)+'"; '+ 'f.appendChild(i); '; s := s+ 'document.body.appendChild(f); '+ 'f.submit(); '; UniSession.AddJS(s) end else UniSession.UrlRedirect(UniMainModule.Url_submit+'&data_event='+TNetEncoding.Url.Encode(data_event)); end; end;
Ajax Event that intercept CallBack
procedure TUFmLoginm.UnimLoginFormAjaxEvent(Sender: TComponent; EventName: string; Params: TUniStrings); var jsonResponse, aURL : string; credentials : TLoginCredentials; begin if (EventName = 'loggedwithcredentials') and (Params.Values['RES']='OK') then begin if not Params.Values['data_event'].IsEmpty then begin // elab .... frmPinm.Hide; ModalResult := mrOK finally credentials.Free end end end end;
All works fine except AjaxEvent that doesn't intercept the EventName "loggedwithcredentials".
-
I solved the problem, by using IDField and IDParentField Properties.
I don't like the solution but it works.
-
Hi, i'm using a UniDBTreeGrid with TreeKeyFields = "Periodo;Tipologia".
Is it possible to display a value in the red area? (see linked image)
-
Hi, do you have a linked datasource?
Standalone or Isapi?
-
18 minutes ago, Kenneth said:
@MarcoPis very nice to see young people. how did you come to the delphi?
I'm using Delphi at work. I'm new of that, but I like it
-
On 11/25/2018 at 5:03 PM, tedeski said:
I already searched the forum and I did not find upload by folder ... I only found an option in html5 but I do not know how to apply in unigui.
<p>Directory: <input type="file" webkitdirectory mozdirectory /></p>
Is there any how ? to apply this action to button for example?
UniSession.AddJS('document.body.innerHTML += ''<p>Directory: <input type="file" webkitdirectory mozdirectory /></p>''');
It creates the component by HTML, but you will need some css for make it appears when you need.
-
-1 24 years
- 1
-
Hi,
I found a solution for print the whole grid, but it is not a best practice.
I created an invisible UniPanel with a UniDbGrid inside that has Paged property False.
When I export the Grid I do as follow.
UniPanel3.Visible := True; //Panel that contains the UniDBGrid to Export UniDbGrid1.Visible := False; //Hide the grid with WebOptions.Paged = True UniDBGrid2.Exporter.Exporter := UniGridExcelExporter1; UniDBGrid2.Exporter.ExportGrid; // Export the grid with WebOptions.Paged = False; UniPanel3.Visible := False; //Hide the panel that contains the grid with WebOptions.Paged =False; UniDbGrid1.Visible := True; //Show the real Grid
Pros : You can print the whole grid using UniGui native components,
Cons : You have a clone of your UniDBGrid just for export.
Hope it helps.
Bad Support
in General
Posted
I don't even know how to see if the topics are closed or not. However for some reasons I had to create a new topic after your answers and it never happened before, so it seems a little strange...