Announcement

Collapse
No announcement yet.

DLL in Programm einbinden

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • DLL in Programm einbinden

    Hallo,

    ich habe eine DLL geschrieben die so aussieht:

    procedure Rufnummer; export;
    var
    Bycallnet, Arcor1, Arcor2, Argonsoft, Avego,
    Avivo, Callero, Easurf4Your, Freenet1, Freenet2,
    GlobalVillage, Metacor, MicrosoftNetwork1,
    MicrosoftNetwork2, wel: String;
    begin
    Bycallnet := '019161';
    Arcor1 := '0192076';
    Arcor2 := '0192077';
    Argonsoft := '019161';
    Avego := '019256253';
    Avivo := '019256112';
    Callero := '019161';
    Easurf4Your := '019256195';
    Freenet1 := '019231760';
    Freenet2 := '019231780';
    GlobalVillage := '019161';
    Metacor := '019256140';
    MicrosoftNetwork1 := '0192658';
    MicrosoftNetwork2 := '0193670';
    wel := '019256220';
    end;

    exports
    Rufnummer name 'Rufnummer';

    begin
    end.

    Nun weiß ich aber nicht, wie ich die DLL-Datei in mein Programm
    einbinden muss.
    Also ich möchte z. B. die Rufnummer in der DLL "wel" aufrufen und
    den Wert in eine TEdit Komponente einfügen.
    Wie kann ich das machen??

    Danke

    Tobias

  • #2
    Die lokalen Variablen sind nicht mal bei einer Prozedur innerhalb deines Programms zugreifbar. Die Prozedur ist also komplett nutzlos

    Comment


    • #3
      Hallo!<br>
      Mal so ganz schnell hingefetzt:<br>
      Die DLL<br>
      <PRE>
      function GetTelefonNummer ( Art : PChar ) : PChar; export;
      begin
      if Art = 'arcor' then begin
      Result := '123';
      Exit;
      end;
      if Art = 'wel' then begin
      Result := '456';
      Exit;
      end;
      Result := 'unbekannt';
      end;

      exports
      GetTelefonNummer Name 'GetTelefonNummer';
      </PRE>
      Das Programm Einfach ein Form mit einem Schalter:<br>
      <PRE>
      type
      TGetNummer = function ( Art : PChar ) :PChar;

      //Code für den Schalter:
      procedure TForm1.Button1Click(Sender: TObject);
      var
      dll : THandle;
      funcdll : tFarProc;
      func : TGetNummer;
      begin
      dll := loadlibrary ( 'project2.dll' );
      funcdll := getprocaddress ( dll, 'GetTelefonNummer' );
      @func := funcdll;

      ShowMessage (
      func ( 'arcor' )+#13+
      func ( 'wel' )+#13+
      func ( 'test' )
      );

      FreeLibrary ( dll );
      end;
      </PRE>
      BYE BERN

      Comment


      • #4
        Kleine Verbesserung:<br>
        function GetTelefonNummer(Art: PChar): PChar; export; <b>stdcall;</b><br>
        TGetNummer = function(Art: PChar): PChar; <b>stdcall;</b&gt

        Comment

        Working...
        X