Avatar billede yuksel Nybegynder
05. september 2003 - 10:57 Der er 18 kommentarer og
1 løsning

delphi kan ikke finde dll hjælp

hej alle eksperter!

jeg sider her og har lavet en program, hvor jeg har 3 mapper og i en af disse mapper findes der en dll hvor hoved aplikationen, som findes i anden mappe kan ikke finde dll filen!!!!
men hvis jeg copy/paster dll filen så virker aplikationen godt, men hvordan kan jeg i aplilktionen definere hvor dll er istedet for at jeg skal copy/paste den ?? ? ? ?? ?
Avatar billede yuksel Nybegynder
05. september 2003 - 11:01 #1
jeg kan godt smide koden op hvis det hjælper!!!
Avatar billede dkn Nybegynder
05. september 2003 - 11:03 #2
det kommer jo an på hvordan du loader din dll fil.

procedure Reset; external '..\En mappe\PDL.dll';

Eller med loadlibary.

smid din kode op ja tak
Avatar billede yuksel Nybegynder
05. september 2003 - 11:04 #3
ok 2 sek
Avatar billede yuksel Nybegynder
05. september 2003 - 11:04 #4
det her er dll'en


library PenniesLib;
{$DEFINE PENNIESLIB}




uses
  SysUtils,
  Classes,
  PenniesInt in '..\opgave 9.2\PenniesInt.pas';

//PenniesInt;

  function PenniesToCoins (TotPennies:word;
          CoinsRec: PCoinsRec): word; StdCall;
  begin
  Result := TotPennies; // Assign Value to Result
  { Calculate the Values for quarters, dimes, nickels, pennies}
  with CoinsRec^ do
  begin
    Quarters := TotPennies div 25;
    Dimes  := TotPennies div 10;
    TotPennies := TotPennies - Dimes * 10;
    Nickels    := TotPennies div 5;
    TotPennies := TotPennies - Nickels *5;
    Pennies    := TotPennies;
  end;
end;

{Export the function by name}
exports
  PenniesToCoins;
end.
Avatar billede yuksel Nybegynder
05. september 2003 - 11:05 #5
det her er hoved aplicationen!!!.



unit MainForm;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, Mask;

type
  TForm1 = class(TForm)
    lblTotal: TLabel;
    lblPennies: TLabel;
    lblNickels: TLabel;
    lblDimes: TLabel;
    lblquarters: TLabel;
    lblplbl: TLabel;
    lblnlbl: TLabel;
    lbldlbl: TLabel;
    lblqlbl: TLabel;
    btnMakeChange: TButton;
    meTotalPennies: TMaskEdit;
    procedure btnMakeChangeClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

uses
PenniesInt; // use an interfase unit


{$R *.DFM}

procedure TForm1.btnMakeChangeClick(Sender: TObject);
var
coinsRec:TCoinsRec;
TotPennies: word;
begin
TotPennies := PenniesToCoins(StrToInt(meTotalPennies.text),@CoinsRec);
with CoinsRec do
begin
lblQuarters.caption := IntToStr(quarters);
lblDimes.caption := IntToStr (Dimes);
lblNickels.caption:= IntToStr (Nickels);
lblPennies.caption:= IntToStr (Pennies);
end
end;

end.
Avatar billede yuksel Nybegynder
05. september 2003 - 11:06 #6
og det er den 3 mappe!


unit PenniesInt;
{ Interface routine for PENNIES.DLL}

interface
type
{this record will hold the deminations after the converssions have
been made}

PCoinsRec = ^TCoinsRec;
TcoinsRec= record
quarters,
Dimes,
Nickels,
Pennies: word;
end;

{$IFNDEF PENNIESLIB}
{ Declare function with export keyword}

function PenniesToCoins (TotPennies: word;
CoinsRec : PCoinsRec): word;StdCall;
{$ENDIF}

implementation
{$IFNDEF PENNIESLIB}
{Define the import function }
function PenniesToCoins; external 'PENNIESLIB.DLL' name 'PenniesToCoins';
{$ENDIF}
end.
Avatar billede dkn Nybegynder
05. september 2003 - 11:06 #7
ok, hvad sker der i "PenniesInt" ?
Avatar billede dkn Nybegynder
05. september 2003 - 11:06 #8
yep der var den...
Avatar billede yuksel Nybegynder
05. september 2003 - 11:07 #9
har du fundet fejlen!!!
Avatar billede yuksel Nybegynder
05. september 2003 - 11:08 #10
det er vel ikke her fejlen er ...


implementation
{$IFNDEF PENNIESLIB}
{Define the import function }
function PenniesToCoins; external 'PENNIESLIB.DLL' name 'PenniesToCoins';
{$ENDIF}
end.
Avatar billede dkn Nybegynder
05. september 2003 - 11:09 #11
hvis jeg forstår dig rigtig er det denne linie du skal tilpasse din mappe:

function PenniesToCoins; external 'PENNIESLIB.DLL' name 'PenniesToCoins';

hvis dll'en ikke ligger i samme mappe som din exe, eller windows/system32 vil du i dette tilfælde få problemer.

skal nok være noget lign:

function PenniesToCoins; external '.\Mappe2\PENNIESLIB.DLL' name 'PenniesToCoins';
Avatar billede yuksel Nybegynder
05. september 2003 - 11:12 #12
jeg prøver lige
Avatar billede yuksel Nybegynder
05. september 2003 - 11:13 #13
jeg har været inde og redigere den til.

implementation
{$IFNDEF PENNIESLIB}
{Define the import function }
function PenniesToCoins; external '..\opgave 9.1\PenniesLib.dll' name 'PenniesToCoins';
{$ENDIF}
end.
   


men den melder samme fejl
Avatar billede dkn Nybegynder
05. september 2003 - 11:15 #14
Kan du ikke vise mig din mappe struktur?

MainMappe
--Mappe1    - Exe file
--Mappe2    - Dll fil...
Avatar billede yuksel Nybegynder
05. september 2003 - 11:15 #15
duuuuuuuuuuuuuuuuutttttttttttt. soryyyy.
Det fordi jeg skal  compile aplicationen som ligger i mappe 9.5 først så virker det...
Avatar billede dkn Nybegynder
05. september 2003 - 11:16 #16
okay nice nok
Avatar billede yuksel Nybegynder
05. september 2003 - 11:16 #17
tussind tak for hjælpen, men kan du ikke skrive et eller andet som svar !
så du kan få poinne .... :)
Avatar billede dkn Nybegynder
05. september 2003 - 11:17 #18
var så lidt.

Svar
Avatar billede yuksel Nybegynder
05. september 2003 - 11:17 #19
Tussind tak!!!!!!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester

Seneste spørgsmål Seneste aktivitet
I går 10:21 Ny printer, men hvilken Af mort1 i Printere
13/0819:41 USB på Linux Af Uvanga i Linux
12/0818:26 Hvilken type mus Af mort1 i PC
11/0813:21 ms Forms Af leahcim i Andet software
10/0821:30 Blokeret på Snapchat? Af LineP i Chat & Messaging