CrossTalk

CrossTalk allows Delphi (or C++) to use .NET libraries as if they were Delphi packages. Simply tell CrossTalk which .NET classes you want to use and let CrossTalk do the rest.

No need for registry entries, COM registrations, or changes to the .NET libraries. To deploy, just copy a few extra .dll files.

Truly, and Honestly – NO COM

Many of our competitors tout “No COM”, however they use .NET COM Exports. While using .NET COM exports does not require COM registrations, it still uses COM marshalling under the hood and has a lot of limitations. COM exports often require addition of attributes or GUIDs.

CrossTalk supports events, boxing, complex types, and many other features that competitors do not. CrossTalk directly connects your Delphi code to .NET without using any COM support at all. Thus COM type marshalling, GUIDs, or attributes are never needed. In fact, CrossTalk was created because of the limitations presented by COM exports.

Example

All of the XML classes are .NET classes. CrossTalk makes them usable like native Delphi classes.

procedure TestXML();
var
  xSettings: XmlReaderSettings;
  xReader: XmlReader;
  xTestBool: boolean;
  xTestEnum: ConformanceLevel;
  xPath: string;
begin
  xSettings := XmlReaderSettings.Create; try
    xTestEnum := xSettings.ConformanceLevel;
    WriteLn(Int32(xTestEnum));
    xSettings.ConformanceLevel := ConformanceLevel.Fragment;
    xTestBool := xSettings.IgnoreWhitespace;
    WriteLn(xTestBool);
    xSettings.IgnoreWhitespace := true;
    xSettings.IgnoreComments := true;
    xPath := ExtractFilePath(ParamStr(0));
    xReader := XmlReader.CreateNET(xPath + '..\..\test.xml', xSettings);
    try
      while not xReader.EOF do begin
        if (xReader.MoveToContent = XmlNodeType.Element)
         and (xReader.Name = 'ProductName') then begin
          WriteLn('Product: ' + xReader.ReadString);
        end;
        xReader.Read;
      end;
      xReader.Close;
    finally xReader.Free; end;
  finally xSettings.Free; end;
end;

Introduction

More

  • Facebook – CrossTalk on Facebook. Developer updates, news and more.

Using CrossTalk