AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Prozedureinsprungpunkt beim statischen Einbinden n. gefunden
Thema durchsuchen
Ansicht
Themen-Optionen

Prozedureinsprungpunkt beim statischen Einbinden n. gefunden

Ein Thema von Rociel · begonnen am 21. Mai 2008 · letzter Beitrag vom 21. Mai 2008
Antwort Antwort
Rociel

Registriert seit: 13. Feb 2005
Ort: Könnern/MD
107 Beiträge
 
Delphi 2006 Personal
 
#1

Prozedureinsprungpunkt beim statischen Einbinden n. gefunden

  Alt 21. Mai 2008, 21:47
Nabend liebe DP'ler

ich programmiere gerade wieder in bisschen an meinem DS-Tool weiter, und habe mir gearde zur Aufgabe gemacht, das programm etwas dynamischer zu gestalten. Dadurch kann ich später das Programm dann leichter aktualisieren wenn bei DieStämme neue Server hinzukommen, bzw. neue Länder.

So, nun gut zuerst habe ich folgendes versucht:

in der dll:
Delphi-Quellcode:
function myDSID:PChar;stdcall;
...
begin
...
end;

exports
  myDSID;
und in der exe:
Delphi-Quellcode:
implementation

...

function myDSID:PChar; stdcall;
external 'func.dll';

{$R *.dfm}
das klappt auch wunderbar, so nun will ich in der dll noch mehr Funktionen unterbringen, was dann knapp so aussieht:
Delphi-Quellcode:
function myDSID:PChar;stdcall;
...
begin
...
end;

function myLaender:Byte;stdcall;
begin
...
end;

function myLand(i:byte):PChar;stdcall;
begin
...
end;

exports
  myDSID,
  myLaender,
  myLand;
und in der exe:
Delphi-Quellcode:
implementation
...

function myDSID:PChar; stdcall;
external;
function myLaender:Byte; stdcall;
external;
function myLand(i:byte):PChar; stdcall;
external;

{$R *.dfm}
nun mag ich die exe ausführen, und Delphi bleibt bei einem CPU-Fenster hängen, ich lass das Programm weiterlaufen und bekam ne Accessviolation, mit der ich nix anfangen konnte, später habe ich das Programm dann außerhalb von Delphi nochmal aufgerufen, und da kam dann die Fehlermeldung ala "Prozedureinsprungpunkt für Funktion myLand nicht gefunden"

naja dann habe ich noch folgendes ausprobiert(zuerst mit den Indizes dann mit name):

im exports Teil der DLL:
Delphi-Quellcode:
exports
  myDSID index 1 name 'myDSID',
  myLaender index 2 name 'myLaender',
  myLand index 3 name 'myLand';
und in der exe entsprechend

Delphi-Quellcode:
function myDSID:PChar; stdcall;
external 'func.dllindex 1 name 'myDSID';
function myLaender:Byte; stdcall;
external 'func.dllindex 2 name 'myLaender';
function myLand(i:byte):PChar; stdcall;
external 'func.dllindex 3 name 'myLand';
ich weiß langsam nicht mehr weiter... wäre nett, wenn mich jemand mal mit nem Zaunpfahl auf meinen Fehler verweisen könnte

zumal es ja am Anfang schon ging...

vielen Dank schon mal im Vorraus =)

lg Rociel
Kommt ein Nullvektor zum Psychiater: "Herr Doktor, Herr Doktor ich bin so orientierunglos."
Mitglied der anonymen Algebraabhängigen
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Prozedureinsprungpunkt beim statischen Einbinden n. gefu

  Alt 21. Mai 2008, 21:48
wenn du im cpu-fenster hängen bleibst wird wohl eine Funktion in der DLL nicht gefunden und somit geht das "statiche" schief
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Rociel

Registriert seit: 13. Feb 2005
Ort: Könnern/MD
107 Beiträge
 
Delphi 2006 Personal
 
#3

Re: Prozedureinsprungpunkt beim statischen Einbinden n. gefu

  Alt 21. Mai 2008, 21:49
ok, entschuldigt bitte, mein Fehler, ich hatte ganz vergessen dass ich die dll in einem Unterordner liegen habe, und den Pfad nicht angepasst hab, aber in dem Ordner der exe noch eine alte Version der dll lag.

Das Topic kann also gelöscht werden.

sry nochmal
Kommt ein Nullvektor zum Psychiater: "Herr Doktor, Herr Doktor ich bin so orientierunglos."
Mitglied der anonymen Algebraabhängigen
  Mit Zitat antworten Zitat
Antwort Antwort


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:09 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz