Allgemein

Signieren von Windows Delphi Anwendungen

FireMonkey Apps für iOS und Android werden in Delphi im Rahmen des Bereitstellungsprozesses automatisch signiert – dies ist inbesondere für iOS Apps unabdingbar und wurde daher in der Delphi IDE auch entsprechend umgesetzt.

Bei Windows Anwendungen (egal ob 32 oder 64 Bit) ist dagegen keine Signatur-Option in Delphi zu finden. Dies dürfte dazu führen, dass viele Delphi Apps unsigniert verteilt werden. Dies ist jedoch spätestens seit Windows 10 nicht mehr zu empfehlen, denn der mit Windows 10 eingeführte „SmartScreen-Filter“ blockiert standardmäßig „nicht vertrauenswürdige“ Anwendungen. Eine unsignierte Anwendung (EXE) ist per se „nicht vertrauenswürdig“, da ihre Herkunft nicht verifiziert werden kann.

Read More

Coderage XII : Single Sign-on with Facebook

Single Sign-on with Facebook’s Login API and Delphi – my session at Coderage XII. Please see below for the link to the materials.

Download Sourcecode …

Supplying a username and a password has been standard for many years to grant access to protected applications. This works reasonably well, yet there are issues that you may want to address with your applications:

  • shared passwords between apps, because it is easier to remember only a few passwords, than one password per application
  • too easy to guess, non-strong passwords
  • keeping your users passwords in a safe location
  • missing protection for sensitive account actionsFacebook offers an API, that allows any application (desktop and mobile) to authenticate against Facebook account information, which basically implements single sign-on on a broad scope. A Facebook user only needs to create and keep track of his Facebook credentials. This password can be selected in a complex way as it is the only one that users need to remember, which makes it harder to guess. Facebooks also provides infrastructure and staff that actively protects their user database against any sorts of cyber attacks.

    In this session I demonstrate how to implement Facebook’s Login APIs in your Delphi application.

Firemonkey TMemo Scrolling

When you add lines to a TMemo in Delphi Applications, then you might want to scroll to the very end of that particular Memo, so that the newest lines are kept in view.

In FireMonkey it’s as easy as just calling GoToTextEnd:

procedure TFormMain.AddLog(AMessage: string);
begin
  Memo1.Lines.Add(AMessage);
  Memo1.GoToTextEnd;
end;

You might notice though, that when you clear the Memo at certain times, the scrollbars may get out of sync. To avoid that, you need to call ProcessMessages right after „clear“. Apparently the scrollbars get confused, when you add lines directly after clear command, because the actual position needs to be rendered first (which the ProcessMessages does).

procedure TFormMain.AddLog(AMessage: string);
begin
  if Memo1.Lines.Count > 100 then 
    begin
      Memo1.Lines.Clear;
      Application.ProcessMessages; //without this, scrollbars will show wrong size/position
    end;
  Memo1.Lines.Add(AMessage);
  Memo1.GoToTextEnd;
end;

MVVM Anwendungen mit Delphi und nicht gegen Delphi

Im folgenden Video meines Youtube-Kanals eine Einführung zum Thema MVVM Anwendungen mit Delphi. Wichtige Motivation ist für mich, dass ich soviel Delphi wie möglich verwende, also eben nicht anfange, alles von Hand im Source-Editor hinzuschreiben.

Hinweis: Das Video versteht sich als erste Einführung in das Thema MVVM mit Delphi. Selbstverständlich gibt es noch eine ganze Reihe von Dingen, die man optimieren und ausbauen kann. Weitere Schritte werde ich hier in noch folgenden Beiträgen skizzieren.

Das Video ist in Deutsch.

Wir benutzen Cookies um die Nutzerfreundlichkeit der Webseite zu verbessen. Durch Deinen Besuch stimmst Du dem zu.