still not working

From: Skybuck Flying (nospam_at_hotmail.com)
Date: 08/26/04


Date: Thu, 26 Aug 2004 03:11:18 +0200

library LibraryTest;

{$UNSAFECODE ON}

{
uses
  SysUtils,
  Classes,
}

(*

uses
  System.Reflection;

[assembly: AssemblyTitle('')]
[assembly: AssemblyDescription('')]
[assembly: AssemblyConfiguration('')]
[assembly: AssemblyCompany('')]
[assembly: AssemblyProduct('')]
[assembly: AssemblyCopyright('')]
[assembly: AssemblyTrademark('')]
[assembly: AssemblyCulture('')]

//
// Version information for an assembly consists of the following four
values:
//
// Major Version
// Minor Version
// Build Number
// Revision
//
// You can specify all the values or you can default the Revision and Build
Numbers
// by using the '*' as shown below:

[assembly: AssemblyVersion('1.0.*')]

//
// In order to sign your assembly you must specify a key to use. Refer to
the
// Microsoft .NET Framework documentation for more information on assembly
signing.
//
// Use the attributes below to control which key is used for signing.
//
// Notes:
// ( * ) If no key is specified, the assembly is not signed.
// ( * ) KeyName refers to a key that has been installed in the Crypto
Service
// Provider (CSP) on your machine. KeyFile refers to a file which
contains
// a key.
// ( * ) If the KeyFile and the KeyName values are both specified, the
// following processing occurs:
// (1) If the KeyName can be found in the CSP, that key is used.
// (2) If the KeyName does not exist and the KeyFile does exist, the
key
// in the KeyFile is installed into the CSP and used.
// ( * ) In order to create a KeyFile, you can use the sn.exe (Strong
Name) utility.
// When specifying the KeyFile, the location of the KeyFile should be
// relative to the project output directory. For example, if your
KeyFile is
// located in the project directory, you would specify the
AssemblyKeyFile
// attribute as [assembly: AssemblyKeyFile('mykey.snk')], provided
your output
// directory is the project directory (the default).
// ( * ) Delay Signing is an advanced option - see the Microsoft .NET
Framework
// documentation for more information on this.
//
[assembly: AssemblyDelaySign(false)]
[assembly: AssemblyKeyFile('')]
[assembly: AssemblyKeyName('')]

*)

procedure test_procedure_integer( var a : integer ); //stdcall;
begin
 a := 123456;
end;

procedure test_procedure_string( var s : string ); //stdcall;
begin
 s := 'HI XXXXXXX !';
end;

function test_function_integer : integer;// stdcall;
begin
 result := 666;
end;

function test_function_string : string;// stdcall;
begin
 result := 'IT''S ME SKYBUCK !';
end;

exports
 test_procedure_integer,
 test_procedure_string,
 test_function_integer,
 test_function_string;

begin
end.

program UseLibraryTest;

{$APPTYPE CONSOLE}

{%DelphiDotNetAssemblyCompiler 'LibraryTest.dll'}

//uses
// SysUtils;

procedure test_procedure_integer( var a : integer ); external
'LibraryTest.DLL';

procedure test_procedure_string( var s : string ); external
'LibraryTest.DLL';

function test_function_integer : integer; external 'LibraryTest.DLL';

function test_function_string : string; external 'LibraryTest.DLL';

begin

 writeln( test_function_string );
 readln;

end.

[Fatal Error] Could not import assembly 'LibraryTest' because it contains
namespace 'Borland.Delphi.System'

What an amazing tool don't you think ? :)



Relevant Pages

  • interesting.
    ... library LibraryTest; ... // You can specify all the values or you can default the Revision and Build ... // If the KeyFile and the KeyName values are both specified, ... The interesting tid bit is that this actually compiles and runs... ...
    (alt.comp.lang.borland-delphi)
  • Writing a library for .NET ?
    ... libraries... ... // You can specify all the values or you can default the Revision and Build ... // If the KeyFile and the KeyName values are both specified, ... // directory is the project directory. ...
    (alt.comp.lang.borland-delphi)
  • pretty ridicilious ;)
    ... library LibraryTest; ... // You can specify all the values or you can default the Revision and Build ... // If the KeyFile and the KeyName values are both specified, ... // directory is the project directory. ...
    (alt.comp.lang.borland-delphi)
  • such a drag
    ... // You can specify all the values or you can default the Revision and Build ... // If the KeyFile and the KeyName values are both specified, ... // directory is the project directory. ... Delphi external exception C00000029 whatever.. ...
    (alt.comp.lang.borland-delphi)
  • cut the crap
    ... // If the KeyName does not exist and the KeyFile does exist, ... // When specifying the KeyFile, the location of the KeyFile should be ... // relative to the project output directory. ... // directory is the project directory. ...
    (alt.comp.lang.borland-delphi)