Ik gebruik Codegear 2005.
Daar heb ik onder "Delphi for .NET Projects" een library (DLL) aangemaakt.
Hierin heb ik voor test een simpele function toegevoegd (ga ik later vervangen voor een aanroep naar een echte functionele routine):
Delphi Code:
function TestFunction(SomeText : String): String;
begin
result := '#'+SomeText + '#';
end;
{$UNSAFECODE ON}
exports
TestFunction;
Hieruit de DLL gemaakt en in VS (2008) in een testproject gehangen (ASP.Net C#).
C# Code:
public class library2
{
[DllImport("library2.Dll")]
public static extern string TestFunction(String s);
}
public partial class Default2 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
Label3.Text = TextBox1.Text + library2.TestFunction(TextBox2.Text);
}
}
That's all wat ik heb gecodeerd.
Bij het runnen geeft hij in VS een runtime error, die hij samenvoegt op ASP:
Poging tot het lezen of schrijven van beveiligd geheugen. Dit duidt er vaak op dat ander geheugen is beschadigd.
Dat van geheugen beschadigd zullen we maar negeren....
Dit leek me de meest voordehand liggende mogelijkheid om functies, geschreven in Delphi te gebruiken op een ASP-pagina, die ook ADO (access mdb) gebruikt (Codegear ondersteunt alleen ADO onder VCL, niet onder ASP).
Bookmarks