AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Delphi Funktion zus. in DLL/ActiveX auslagern, auch für andere Sprachen?
Thema durchsuchen
Ansicht
Themen-Optionen

Funktion zus. in DLL/ActiveX auslagern, auch für andere Sprachen?

Ein Thema von PeterPanino · begonnen am 7. Dez 2013 · letzter Beitrag vom 9. Dez 2013
Antwort Antwort
PeterPanino

Registriert seit: 4. Sep 2004
1.465 Beiträge
 
Delphi 10.4 Sydney
 
#1

Funktion zus. in DLL/ActiveX auslagern, auch für andere Sprachen?

  Alt 7. Dez 2013, 20:54
Hallo und einen schönen Abend!

Ich möchte eine eigene Funktion, die einen Integerwert erhält und einen String zurückgibt, nicht nur in Delphi-Programmen verfügbar machen, sondern über eine DLL und/oder ActiveX auch anderen Programmiersprachen zur Verfügung stellen. Was muss ich dabei beachten? Welche Aufrufkonventionen sind zu implementieren?
  Mit Zitat antworten Zitat
Benutzerbild von sx2008
sx2008

Registriert seit: 16. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#2

AW: Funktion zus. in DLL/ActiveX auslagern, auch für andere Sprachen?

  Alt 8. Dez 2013, 12:38
Ich würde ActiveX empfehlen, denn diese Interfaces können von allen modernen Programmiersprachen und auch vielen Anwendungen (Microsoft Office) sowie Scriptsprachen problemlos eingebunden werden ohne dass man irgendwelche Headerdateien übersetzen muss.

Hier ist eine kleine Demoanwendung mit einer ActiveX-Schnittstelle die von einem VBScript aufgerufen wird.
(mal so zum reinschnupper in die Technik)
https://github.com/sx2008/Delphi-Tes...iveXStarterKit

Du brauchst allerdings statt einer Anwendung eine Library (DLL) aber ich find grad nix Passendes.
fork me on Github
  Mit Zitat antworten Zitat
PeterPanino

Registriert seit: 4. Sep 2004
1.465 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: Funktion zus. in DLL/ActiveX auslagern, auch für andere Sprachen?

  Alt 8. Dez 2013, 19:11
Vielen Dank! Wenn die DLL-Funktion einen String als Result zurückgibt, sollte man dafür als Typ im Sinne einer größtmöglichen Kompatibilität eher PChar oder PWideChar oder WideString verwenden?
  Mit Zitat antworten Zitat
PeterPanino

Registriert seit: 4. Sep 2004
1.465 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: Funktion zus. in DLL/ActiveX auslagern, auch für andere Sprachen?

  Alt 9. Dez 2013, 00:55
Muss ich in der DLL ShareMem auch dann einbinden, wenn der von der DLL-Funktion zurückgegebene Typ PCHAR ist? Derzeit funktioniert es in diesem Fall auch ohne ShareMem.
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#5

AW: Funktion zus. in DLL/ActiveX auslagern, auch für andere Sprachen?

  Alt 9. Dez 2013, 01:06
Muss ich in der DLL ShareMem auch dann einbinden, wenn der von der DLL-Funktion zurückgegebene Typ PCHAR ist? Derzeit funktioniert es in diesem Fall auch ohne ShareMem.
Nein, ShareMem wird nur benötigt, wenn du Typen benutzt, die von Delphi gemanagt werden (z.B. string, UnicodeString, ...)

PChar, ... sind einfach nur Zeiger
WideString ist ein von Windows gemanagter Typ
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
 
Delphi 12 Athens
 
#6

AW: Funktion zus. in DLL/ActiveX auslagern, auch für andere Sprachen?

  Alt 9. Dez 2013, 01:53
ShareMem und Co. bringt auch nur dann etwas, wenn beide Seiten die Sharing-Methode kennen und vorallem auch nutzen.

Und überleg mal, wie groß die Wahrscheinlichkeit ist, daß irgendeine andere Programmiersprache ausgeechnet den Delphi-Speichermanager kennt?
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  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 15:06 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