AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi function in dll, die string zurückgibt
Thema durchsuchen
Ansicht
Themen-Optionen

function in dll, die string zurückgibt

Ein Thema von Nicolai1234 · begonnen am 17. Apr 2004 · letzter Beitrag vom 20. Mai 2004
Antwort Antwort
Seite 1 von 3  1 23      
Nicolai1234

Registriert seit: 21. Feb 2004
1.008 Beiträge
 
Turbo Delphi für Win32
 
#1

function in dll, die string zurückgibt

  Alt 17. Apr 2004, 13:36
Wie kann ich eine dll schreiben, die als rückgabewert einen String hat? Ich habe gehört, da muss man irgendwas beachten...
  Mit Zitat antworten Zitat
Benutzerbild von d3g
d3g

Registriert seit: 21. Jun 2002
602 Beiträge
 
#2

Re: function in dll, die string zurückgibt

  Alt 17. Apr 2004, 13:42
Du musst wissen, dass ein String ein Pointer ist, und dass du die borlandmm.dll zusätzlich zu deiner DLL mitausliefern musst. Lass Strings also einfach ganz weg und benutze stattdessen PChar und array[] of Char.
-- Crucifixion?
-- Yes.
-- Good. Out of the door, line on the left, one cross each.
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.197 Beiträge
 
Delphi 10.4 Sydney
 
#3

Re: function in dll, die string zurückgibt

  Alt 17. Apr 2004, 13:43
Falls Du wirklich einen Delphi-String zurückgeben willst, so bist du auf beiden Seiten auf Delphi (C++-Builder) festgelegt.

Wenn Du eine neue DLL mit den Delphi-DLL-Experten erstellst, so bekommst Du den entsprechenden Hinweis kostenlos:
Zitat:
{ Wichtiger Hinweis zur DLL-Speicherverwaltung: ShareMem muß sich in der
ersten Unit der unit-Klausel der Bibliothek und des Projekts befinden (Projekt-
Quelltext anzeigen), falls die DLL Prozeduren oder Funktionen exportiert, die
Strings als Parameter oder Funktionsergebnisse übergeben. Das gilt für alle
Strings, die von oder an die DLL übergeben werden -- sogar für diejenigen, die
sich in Records und Klassen befinden. Sharemem ist die Schnittstellen-Unit zur
Verwaltungs-DLL für gemeinsame Speicherzugriffe, BORLNDMM.DLL.
Um die Verwendung von BORLNDMM.DLL zu vermeiden, können Sie String-
Informationen als PChar- oder ShortString-Parameter übergeben. }
Willst Du auch mit C/C++ oder VB auf deine DLL zugreifen, so darfst Du nur PChar/PWideChars verwenden und mußt klare regeln bezüglich speicherfreigabe aufstellen (Soll Platz schon von aufrufer bereitgestellt werden od wird er von der DLL angefordert...
  Mit Zitat antworten Zitat
Nicolai1234

Registriert seit: 21. Feb 2004
1.008 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: function in dll, die string zurückgibt

  Alt 17. Apr 2004, 13:44
Wie kann ich das machen?

Ich habe folgende function:

function rueckgabe(s:string):string; Es wird ein string übergeben und es kommt ein string zurück! Wie muss ich es ändern?
  Mit Zitat antworten Zitat
Nicolai1234

Registriert seit: 21. Feb 2004
1.008 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: function in dll, die string zurückgibt

  Alt 17. Apr 2004, 13:52
wenn ich string durch pchar ersetze kommt folgende fehlermeldung:
[Fehler] texterkennung.pas(66): Bei der vorherigen Deklaration von rueckgabe wurde die Direktive 'overload' nicht angegeben

Was heißt das???
  Mit Zitat antworten Zitat
Benutzerbild von Meflin
Meflin

Registriert seit: 21. Aug 2003
4.856 Beiträge
 
#6

Re: function in dll, die string zurückgibt

  Alt 17. Apr 2004, 13:55
vermutlich dass du hinter den functionblabla;overload; hinbschreiben musst
  Mit Zitat antworten Zitat
Benutzerbild von Pseudemys Nelsoni
Pseudemys Nelsoni

Registriert seit: 24. Dez 2002
Ort: Hamburg-Harburg
3.551 Beiträge
 
#7

Re: function in dll, die string zurückgibt

  Alt 17. Apr 2004, 13:58
wenn du string sowieso nicht benutzt, dann lösch die funktion vor deiner neuen, wahrscheinlich hast du 2 functionen mit gleichem namen deklariert.
Mario
  Mit Zitat antworten Zitat
Nicolai1234

Registriert seit: 21. Feb 2004
1.008 Beiträge
 
Turbo Delphi für Win32
 
#8

Re: function in dll, die string zurückgibt

  Alt 17. Apr 2004, 14:05
Geht jetzt, danke.

Gibt es eine Function wie z.B PCHARrtoSTR oder so ähnlich??
  Mit Zitat antworten Zitat
Benutzerbild von Meflin
Meflin

Registriert seit: 21. Aug 2003
4.856 Beiträge
 
#9

Re: function in dll, die string zurückgibt

  Alt 17. Apr 2004, 14:06
meinst du vielleicht PChar, die sollte einen char in einen string umwandeln oder umgekehrt!?
  Mit Zitat antworten Zitat
Benutzerbild von Pseudemys Nelsoni
Pseudemys Nelsoni

Registriert seit: 24. Dez 2002
Ort: Hamburg-Harburg
3.551 Beiträge
 
#10

Re: function in dll, die string zurückgibt

  Alt 17. Apr 2004, 14:08
mit dem typcasting muss das gehen : string(deinpchar)
Mario
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


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 02:13 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