Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi DLL als Modul.. Ungültige Zeigeroperation etc... Bitte Hilfe (https://www.delphipraxis.net/112501-dll-als-modul-ungueltige-zeigeroperation-etc-bitte-hilfe.html)

hedie 22. Apr 2008 14:59

Re: DLL als Modul.. Ungültige Zeigeroperation etc... Bitte H
 
Weil dies Zusatzmodule sind.

Sie sollen den HTTP Server um funktionen erweitern.

Jeder soll dabei die möglichkeit haben eigene module
zu entwickeln.

Deshalb sollte die DLL auch sprach unabhängig entwickelt werden können.

Luckie 22. Apr 2008 15:02

Re: DLL als Modul.. Ungültige Zeigeroperation etc... Bitte H
 
Zitat:

Zitat von hedie
Jeder soll dabei die möglichkeit haben eigene module
zu entwickeln.

Deshalb sollte die DLL auch sprach unabhängig entwickelt werden können.

Dann kannst du auch BPLs vergessen.

hedie 22. Apr 2008 15:04

Re: DLL als Modul.. Ungültige Zeigeroperation etc... Bitte H
 
Ist es den mit dll's nicht möglich?

Luckie 22. Apr 2008 15:05

Re: DLL als Modul.. Ungültige Zeigeroperation etc... Bitte H
 
Doch in dem du einen alternativen Speichermanager nimmst, zum Beispiel FastMem. aber damit bist du auch nicht sprachunabhängig.

hedie 22. Apr 2008 15:09

Re: DLL als Modul.. Ungültige Zeigeroperation etc... Bitte H
 
Kann man den einen normalen MemoryStream problem los übergeben?

Wenn nicht,

Was kann man den Problemlos und Sprachunabhängig mit einer DLL übergeben?

Bernhard Geyer 22. Apr 2008 15:10

Re: DLL als Modul.. Ungültige Zeigeroperation etc... Bitte H
 
Zitat:

Zitat von Luckie
Doch in dem du einen alternativen Speichermanager nimmst, zum Beispiel FastMem. aber damit bist du auch nicht sprachunabhängig.

AFAIK hilft FastMM doch nur um das String-Problem zu umgehen aber nicht bei Objekten :gruebel:

QuickAndDirty 22. Apr 2008 15:14

Re: DLL als Modul.. Ungültige Zeigeroperation etc... Bitte H
 
Zitat:

Zitat von hedie
Ist es den mit dll's nicht möglich?

Du kannst einfach den Inhalt von TMemoryStream.Buffer zurrückgeben.
Das ist ein Zeiger auf einen Speicherbereich.

Wenn du einen Record
Delphi-Quellcode:
Type daten=record
       Size:integer;
       Data:Pointer;
     end;
zurrück gibst
kannst du die daten direkt verwenden.
wichtig ist nur das du sie im DLL erzeugst und dort auch freigibst.

Ich würde dir vorschlagen sie nach dem auslesen aus dem dll direkt zu kopieren und dann das original freizugeben.

hedie 22. Apr 2008 15:16

Re: DLL als Modul.. Ungültige Zeigeroperation etc... Bitte H
 
Und wie sieht dan der aufruf in der exe aus?

Apollonius 22. Apr 2008 15:28

Re: DLL als Modul.. Ungültige Zeigeroperation etc... Bitte H
 
Eine andere Möglichkeit neben der von QuickAndDirty genannten wäre die Verwendung des COM-Interfaces IStream - das vereinfacht die Behandlung in Delphi gegenüber der Record-Lösung erheblich.

hedie 22. Apr 2008 15:31

Re: DLL als Modul.. Ungültige Zeigeroperation etc... Bitte H
 
Ok ich habe nun also 2 Mögliche lösungen.

Dafür danke ich euch

aber ich habe das problem, das ich mich mit beiden nicht auskenne.

Deshalb ist es mir nicht möglich diese ohne weiteres anzuwenden.
und somit hoffe ich das ihr mir ein kleines beispiel postet :D


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:28 Uhr.
Seite 2 von 2     12   

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