AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein DLL Einbindung in VB, VBA bzw. Lotus-Script
Thema durchsuchen
Ansicht
Themen-Optionen

DLL Einbindung in VB, VBA bzw. Lotus-Script

Ein Thema von FriFra · begonnen am 7. Okt 2003 · letzter Beitrag vom 7. Okt 2003
 
Benutzerbild von FriFra
FriFra

Registriert seit: 19. Apr 2003
1.291 Beiträge
 
Delphi 2005 Professional
 
#1

DLL Einbindung in VB, VBA bzw. Lotus-Script

  Alt 7. Okt 2003, 10:03
Ich habe eine dll mit Delphi erstellt und will diese nun z.B. in VBA nutzen,

Exports meiner dll
Delphi-Quellcode:
...
exports
  GetMails(Mails: PChar; KillDuplicates, RealNameEnabled, RealNameSimulated,
    FromOutlook, FromOpera, FromNetscape, FromLotusNotes, FromEudora, FromPegasus:
    boolean)name 'GetMails',
  GetMails(Mailfile: string; KillDuplicates, RealNameEnabled, RealNameSimulated,
    FromOutlook, FromOpera, FromNetscape, FromLotusNotes, FromEudora, FromPegasus:
    boolean)name 'GetMails_File';
...
GetMails_File habe ich momentan als Work-Around für VB in meinem Projekt, da ich keien Plan habe wie ich in VB mit Pointern (Mails: PChar) umgehen soll. Deshalb schreibe ich den text jetzt in eine Datei die man nach dem Aufruf einlesen kann:
Code:
Declare Function GetMails Lib "localmail.dll" Alias "GetMails_File" (ByVal Mialfile As String, ByVal KillDuplicates As Integer, ByVal RealNameEnabled As Integer, ByVal RealNameSimulated As Integer, ByVal FromOutlook As Integer, ByVal FromOpera As Integer, ByVal FromNetscape As Integer, ByVal FromLotusNotes As Integer, ByVal FromEudora As Integer, ByVal FromPegasus As Integer) As Integer

Sub ReadMails()
    Dim txt As String
    Dim fileName As String
    Dim fileNum As Integer
    Dim counter As Integer
    ReDim Mails(0) As String
   
    txt$ = ""
    fileName = "MyMails.txt"
    fileNum% = FreeFile()
    counter% = 0
   
    GetMails fileName, 1, 1, 1, 1, 1, 1, 1, 1, 1
    Open fileName For Input As fileNum%
    Do While Not EOF(fileNum%)
        ReDim Preserve Mails(counter%) As String
        Line Input #fileNum%, txt$
        Mails(counter%) = txt$
        counter% = counter% + 1
    Loop
    Close fileNum%
   
    For n = 0 To counter - 1
        MsgBox Mails(n)
    Next

    Kill fileName
End Sub
Hat jemand eine Idee, wie ich die Sache ohne die Textdatei lösen könnte (also über PChar -> 1. Export der dll)? Wenn ich versuche die Funktion mit dem Pointer aufzurufen crasht mir jedenfalls VBA bzw. Lotus-Notes ...
Elektronische Bauelemente funktionieren mit Rauch. Kommt der Rauch raus, geht das Bauteil nicht mehr.
  Mit Zitat antworten Zitat
 


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