AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Applikation -> DLL und umgekehrt (PChar)

Ein Thema von eLse-maestro · begonnen am 4. Feb 2008 · letzter Beitrag vom 4. Feb 2008
 
eLse-maestro

Registriert seit: 14. Okt 2006
24 Beiträge
 
#1

Applikation -> DLL und umgekehrt (PChar)

  Alt 4. Feb 2008, 14:50
Hi Leute,
Ich möchte einen string, bzw. einen PChar von einer dll an die Applikation & umgekehrt übergeben.
Mit einem Integer kriege ich das hin, aber nicht mit einem PChar, dann kommt immer eine zugriffsverletzung.

könnt ihr mir da weiterhelfen?
alle meine tutorials sind nur mit integer werten (dsdt.info + ein buch)

applikation:
Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;
type
  TInfoFunktion = function(about_what: pchar):pchar; stdcall;
  function info1(about_what: pchar):pchar;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}
function info1(about_what: pchar):pchar;
var InfoFunktion: TInfoFunktion;
    Handle: THandle;
begin
  Handle:=LoadLibrary(PChar(ExtractFilePath(ParamStr(0))+'dll.dll'));
  if Handle <> 0 then begin
    @InfoFunktion := GetProcAddress(Handle, 'info');
    if @InfoFunktion <> nil then begin
      result := InfoFunktion(about_what);
    end;
    FreeLibrary(Handle);
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
var test:pchar;
begin
test:='test';
    showmessage(info1(@test));
end;

end.

dll:
Delphi-Quellcode:
library dll;



uses
  SysUtils,
  Classes;

{$R *.res}
function info(about_what: pchar):pchar; stdcall;
begin
  if about_what='testthen
  result := 'super1'
  else
  result:='super2';
end;

exports
  info;
begin
end.
edit: hmm und ich hatte heute schon ein paar av's
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:31 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz