AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Dll schreiben für VB6

Ein Thema von Dummbatz · begonnen am 11. Mär 2003 · letzter Beitrag vom 12. Mär 2003
Antwort Antwort
Dummbatz

Registriert seit: 11. Mär 2003
Ort: Wehr
14 Beiträge
 
Delphi 6 Enterprise
 
#1

Dll schreiben für VB6

  Alt 11. Mär 2003, 19:49
Hallo zusammen!

Ich hab mich nun nach einiger Zeit aktiven Delphi-Programmierens endlich mal an das Thema Dlls rangewagt. Das funktioniert auch soweit ganz gut.
Jetzt möchte ich eine Dll schreiben, die in VB6 verwendet werden kann. Das funktioniert soweit auch ganz gut. Mit einer kleinen Ausnahme: Ich bekomme ständig Probleme, wenn ich auf eine Dll-Prozedur zugreifen will, die Strings zurückliefert. Das führt regelmäßig zum kompletten VB6-Absturtz!
Ich hab schon alles mögliche probiert: String, ShortString, PChar . nichts!

Hat jemand eine Idee???

MfG Dummbatz.
Thomas
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: München
11.412 Beiträge
 
Delphi 11 Alexandria
 
#2
  Alt 11. Mär 2003, 22:03
Ich kann jetzt nichts dazu sagen, aber versuch mal einen var Parameter auf einen WideString (Unicode).

......
Daniel W.
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
jbg

Registriert seit: 12. Jun 2002
3.481 Beiträge
 
Delphi 10.1 Berlin Professional
 
#3
  Alt 12. Mär 2003, 12:45
PChar ist schon der richtige Typ. Du musst nur unter VB genug Platz schaffen, damit die Daten vom der DLL-Funktion geschrieben werden können. Strings solltest du immer als Parameter übergeben und die Länge als Result.

Delphi-Quellcode:
function MyDllCall(S: PChar; MaxLen: Integer): Integer;
begin
  Result := Length(MeinString);
  if S <> nil then StrLCopy(S, PChar(MeinString), MaxLen);
end;
Code:
Declare Function MyDllCall Lib "MeineLib.dll" (ByVal S as String, ByVal MaxLen As Integer) As Integer

Dim S As String
S = Space(256)
S = Left(S, MyDllCall(S, Len(S)))
MsgBox S
  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 20:54 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