Jump to content

Leaderboard


Popular Content

Showing content with the highest reputation on 09/23/19 in all areas

  1. Hans♫

    Delphi 10.3.2 with Xcode 11 and iOS 13?

    Ok, thank you both. I just started the upgrade to Xcode 11, so I might have more news in 1-2 hours 🙂
  2. sjordi

    Delphi 10.3.2 with Xcode 11 and iOS 13?

    Did not try on iPhone yet, but the Mac deployment works without problems.
  3. rvk

    SFTP client

    Like I stated before, you can do it with Synapse (from Ararat) and libssh2.dll. There is a SimpleSFTP.pas in the demo-directory. But that one uses cryptlib.dll which isn't free distributable. But there are version which can also use libssh2.dll (which is free). I have one for FPC but not ported to Delphi. There are also versions which use plain winsock in combination with libssh2.dll (no need for Synapse). For example: https://github.com/pult/libssh2_delphi (and like others on github) Using the searchwords libssh2 and delphi in Google will get you a lot of results too. For the Synapse version you can just search for SimpleSFTP.pas and libssh2 and you can search for the latest working with libssh2.dll. If you have any problems let us know.
  4. Uwe Raabe

    Unknown attribute

    If things were always done right in the first place neither the term bug nor the term workaround would exist.
  5. ByteJuggler

    Importing Excel2016 Type library into Delphi

    In case anyone else runs across this thread in the future and are stuck trying to import the type library for MS Word (WinWord.exe), note that unlike with Excel where the type library can be imported from the .EXE file, with WinWord the Type Library is not embedded (it seems) in the .EXE file, so you run into an error if you try the same approach as above. It turns out that for many Office applications the type library information is stored in .OLB files. For more on this see: https://docs.microsoft.com/en-us/office/troubleshoot/office-developer/use-type-library-for-office-from-visual-c-net The full command i used to import the type libraries related to MS Word (WinWord) was: "C:\Program Files (x86)\Embarcadero\Studio\18.0\bin64\tlibimp.exe" -P "C:\Program Files\Microsoft Office\root\Office16\MSWORD.OLB" Adjust as required for the version of Delphi and/or Office you're using. The files will be created in the current folder, so be sure to be in the target folder before you run the command. The output is something like this: C:\temp\import>"C:\Program Files (x86)\Embarcadero\Studio\18.0\bin64\tlibimp.exe" -P "C:\Program Files\Microsoft Office\root\Office16\MSWORD.OLB" Embarcadero TLIBIMP Version 12.16581 [x64] Copyright(c) 1995-2010 Embarcadero Technologies, Inc. Opening C:\Program Files\Microsoft Office\root\Office16\MSWORD.OLB Type library loaded .... Created C:\temp\import\Office_TLB.dcr Created C:\temp\import\Office_TLB.pas Created C:\temp\import\VBIDE_TLB.dcr Created C:\temp\import\VBIDE_TLB.pas Created C:\temp\import\Word_TLB.dcr Created C:\temp\import\Word_TLB.pas C:\temp\import> Hope that helps future me or some other soul... 🙂
  6. Joseph MItzen

    [Firebird] What DB to use for a demo

    DBeaver is one of the premier open source/commercial database management tools.... https://github.com/dbeaver/dbeaver You might also want to look into the online dummy data generators, such as.... http://filldb.info/
  7. The .Net Runtime Library for Delphi is the best library to work with .Net framework and .Net libraries from Delphi. It is designed to provide a way to interact with applications written in anyone of the .Net languages (such as C#, Visual Basic.Net, Delphi.Net, JScript.Net, etc) from Delphi. The .Net Runtime Library for Delphi allows Delphi to use .Net libraries without the need for registry entries, COM registrations, or changes to the .NET libraries. Applications built with the .Net Runtime Library for Delphi will not require any dll files when deployed. .Net Runtime Library for Delphi allows developers to create applications that can mix managed (.NET) and unmanaged ("native" Delphi) code in the same project. Competitive Advantages: No extra dll is required when deployed. No COM registration of .Net Libraries is required when deployed. There are tools to generate your .Net Libraries into Delphi pas files. Allows Delphi to consume .Net libraries as if they were native code. Full access to .Net Framework Class Library. Easy to use. CNClrLibrary can do so much: Access .Net Framework Class Library. Access Third Party .Net Libraries. Access Your .Net Libraries. etc. Features:- Can access .Net Framework Class Library (such as Collections, Data Configuration, DataSets, Data Access, Database Connectivity, Diagnostics, IO, Linq, Dynamic Linq, System, Device and Application Management, Networking, Reflections, Security, Encryption, Cryptography, Character Encoding and String Manipulation, XML etc). Can access Third Party .Net Libraries. Can access your .Net Libraries. Can host the .Net Common Language Runtime (CLR) in Delphi. Can load and access assemblies and their types from third party .Net libraries or your own .Net libraries or executable files. Can load and access assemblies and their types from Global Assembly Cache (GAC). Can invoke members of the loaded assembly types which includes constructor, fields, properties, methods and events. Can invoke static members of the loaded assembly types which includes constructor, fields, properties, methods and events. Can load and access assemblies and their types from Global Assembly Cache (GAC) Can create instance of .Net object from the types of the assembly loaded. Can handle .Net exceptions. Can handle, access and invoke .Net events. Can host .Net controls in Delphi VCL Forms. Contains a utility for importing .Net libraries(third party or your own .Net libraries) or WSDL and generates Delphi pas files. Supports Delphi 2010 and higher versions Supports both 32bit and 64bit delphi application and many more. The Runtime Library includes .Net DLL/WSDL Importer for Delphi which is used for importing .Net Assemblies, WSDL or web service XML schema and for generating Delphi classes from the .Net types of the imported assemblies. Example: program LoadDotNetAssembly; {$APPTYPE CONSOLE} {$R *.res} uses {$IF CompilerVersion > 22} System.SysUtils, {$ELSE} SysUtils, {$IFEND } CNClrLib.Host, CNClrLib.Core; var oConsole : _Console; oAsmHelper : _AssemblyHelper; oAssembly : _Assembly; procedure DisplayAssemblyInfo(xAssembly : _Assembly); begin if xAssembly = nil then oConsole.WriteLine_14('Assembly cannot be loaded') else begin oConsole.WriteLine_14('Assembly has been loaded'); oConsole.WriteLine_15('Global Assembly Cache: {0}', xAssembly.GlobalAssemblyCache); oConsole.WriteLine_15('Is Fully Trusted: {0}', xAssembly.IsFullyTrusted); oConsole.WriteLine_15('Location: {0}', xAssembly.Location); oConsole.WriteLine_15('Image Runtime Version: {0}', xAssembly.ImageRuntimeVersion); oConsole.WriteLine_15('Number of Types: {0}', xAssembly.GetTypes.Length); oConsole.WriteLine; oConsole.WriteLine; end; end; procedure LoadAssemblyFromFile; begin oConsole.WriteLine_14('System.Data.dll using Assembly File'); oAssembly := oAsmHelper.LoadFrom('C:\Windows\Microsoft.NET\Framework\v2.0.50727\System.Data.dll'); DisplayAssemblyInfo(oAssembly); end; procedure LoadAssemblyByAssemblyName; var oAssemblyName : _AssemblyName; begin oConsole.WriteLine_14('Loading System.Data.dll using AssemblyName Properties and methods'); oAssemblyName := CoAssemblyName.CreateInstance; oAssemblyName.Name := 'System.Data'; oAssemblyName.Version := CoVersion.CreateInstance('2.0.0.0'); oAssemblyName.CultureInfo := CoCultureInfo.CreateInstance(''); oAssemblyName.SetPublicKeyToken(TClrArrayHelper.ToByteArray('b77a5c561934e089')); oAssembly := oAsmHelper.Load_1(oAssemblyName); DisplayAssemblyInfo(oAssembly); end; procedure LoadAssemblyByAssemblyNameString; var oAssemblyName : _AssemblyName; begin oConsole.WriteLine_14('Loading System.Data.dll using AssemblyName with AssemblyString'); oAssemblyName := CoAssemblyName.CreateInstance('System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'); oAssembly := oAsmHelper.Load_1(oAssemblyName); DisplayAssemblyInfo(oAssembly); end; procedure LoadAssemblyWithPartialName; begin oConsole.WriteLine_14('Loading System.Data.dll using Partial Assembly Name'); oAssembly := oAsmHelper.LoadWithPartialName('System.Data'); DisplayAssemblyInfo(oAssembly); end; procedure LoadAssemblyByFilePath; begin oConsole.WriteLine_14('Loading System.Data.dll using File Path'); oAssembly := oAsmHelper.LoadFile('C:\Windows\Microsoft.NET\Framework\v2.0.50727\System.Data.dll'); DisplayAssemblyInfo(oAssembly); end; begin oConsole := CoConsole.CreateInstance; oAsmHelper := CoAssemblyHelper.CreateInstance; oConsole.WriteLine_14('Hello! Welcome to .Net Runtime Library for Delphi.'); oConsole.WriteLine_14('=================================================='); oConsole.WriteLine_14('The program demonstrate how to use Static Assembly to Load .Net Assemblies'); oConsole.WriteLine; try LoadAssemblyFromFile; LoadAssemblyByAssemblyName; LoadAssemblyByAssemblyNameString; LoadAssemblyWithPartialName; LoadAssemblyByFilePath; except on E:Exception do oConsole.WriteLine_15('Exception : {0}', E.Message); end; oConsole.ReadKey; end. For more information about the Runtime Library, go to https://www.crystalnet-tech.com/RuntimeLibrary/RuntimeLibrary4Delphi. For more information about the Import Utility, go to https://www.crystalnet-tech.com/RuntimeLibrary/RuntimeLibUtilities. For more development code samples, go to: https://www.crystalnet-tech.com/DevCodeSamples/Default.
  8. Hi all, Just wanted to let you know I made available an online training course about web development with Delphi: "Introduction to TMS Web Core". Its got a theoretical introduction about web applications, then goes into TMS Web Core and Pas2JS compiler, explaining the idiosyncrasies of both web applications and TMS Web Core specifically. Course link: https://courses.landgraf.dev/p/web-applications-with-delphi-tms-web-core --- Wagner Landgraf
  9. Arnaud Bouchez

    Firebird Encryption options

    Switch to a n-Tier architecure is the way to go. Keep the database locally on your server computer (or network), then use regular REST/JSON over secure HTTPS for the communication with clients. HTTPS will be much easier to secure and scale than forcing encryption with the database driver. Certificate management is a difficult think to do - I have seen so many solutions running fine... until a certificate becomes obsolete. 😉 We usually use a nginx server as reverse proxy, with https://letsencrypt.org/ certificate management.
  10. Markus Kinzler

    Firebird Encryption options

    Firebird 3 support over-the-wire encryption out of the box. https://firebirdsql.org/file/documentation/release_notes/html/en/3_0/rnfb30-security-wirecrypt.html
×