AGB  ·  Datenschutz  ·  Impressum  







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

OLE. DLL Zugriff. XE2

Ein Thema von matashen · begonnen am 12. Nov 2014 · letzter Beitrag vom 13. Nov 2014
Antwort Antwort
matashen

Registriert seit: 29. Jan 2007
Ort: daheim
480 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#1

OLE. DLL Zugriff. XE2

  Alt 12. Nov 2014, 15:18
Hallo zusammen,

der Titel ist etwas abgehakt aber im Prinzip gehts genau darum.

Ich habe für einen Zugriff auf unseren MES-Server eine dll. Ein Kollege von mir hat in Delphi (Ich glaube Turbo Delphi) eine Beispielanwendung geschrieben für den Zugriff über die dll auf unseren MES-Server.

Wenn ich einen Zugriff mit meinem XE2 auf den Server mache bekomme ich entweder eine Rückmeldung von der dll "-1000: Server nicht gefunden" oder eine Meldung "OLE Fehler FFFFFFF".

das heist ich kompilier auch nur die Beispielanwendung von meinem Kollegen. Bei meinem XE2 gehts nicht. Bei seinem Uralt-Delphi gehts.

Ist da ein bekannter Fehler in XE2. Updates hät ich aber alle inkl. des letzten Hotfix.

Langsam glaub ich nicht an einen Fehler meinerseits sondern an einen Fehler vom XE2. Das Netz hab ich mir heute schon Wund-gegoogelt aber auf eine Lösung bin ich nicht gestoßen.

Evtl. hat jemand von euch da Erfahrungen/Informationen.

Gruß Matthias
Matthias
Das Leben ist eines der härtesten.
  Mit Zitat antworten Zitat
Benutzerbild von baumina
baumina

Registriert seit: 5. Mai 2008
Ort: Oberschwaben
1.275 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: OLE. DLL Zugriff. XE2

  Alt 12. Nov 2014, 15:41
Das ist sicherlich ein UniCode-Problem. Achte auf PChar -> PAnsiChar usw.
Hinter dir gehts abwärts und vor dir steil bergauf ! (Wolfgang Ambros)
  Mit Zitat antworten Zitat
matashen

Registriert seit: 29. Jan 2007
Ort: daheim
480 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#3

AW: OLE. DLL Zugriff. XE2

  Alt 12. Nov 2014, 16:02
Naja wenn ich einfach den Severstatus abfrage läuft nicht viel Text

mal hier der Auszug

Delphi-Quellcode:
    Path := ExtractFilePath(ParamStr(0))+'mes_toolbox.dll'; // Wenn Dll im gleichen Pfad wie die Exe liegt.
    DLL := PChar(Path);
    DLLHandle := LoadLibrary(DLL);
    checkptr:= GetProcAddress(DLLHandle,'CHECK_DB_CONNECTION');
    @DLLCheck:= CheckPtr;
    j:=dllcheck;
    if j=0 then statusbar1.panels[0].Text:=inttostr(j)+' Datenbank Verbindung OK';
    if j=-1000 then statusbar1.panels[0].Text:=inttostr(j)+' Fehler: keine Verbindung zur DB';
Matthias
Das Leben ist eines der härtesten.
  Mit Zitat antworten Zitat
Benutzerbild von baumina
baumina

Registriert seit: 5. Mai 2008
Ort: Oberschwaben
1.275 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: OLE. DLL Zugriff. XE2

  Alt 12. Nov 2014, 16:17
Versuch mal

Delphi-Quellcode:
// DLL := PChar(Path);
strPCopy(DLL,Path);
EDIT: Aber ich denke das hilft nix. Wenn dein DLLHandle sowieso schon gültig war, ausser du hast das nie geprüft.
Hinter dir gehts abwärts und vor dir steil bergauf ! (Wolfgang Ambros)

Geändert von baumina (12. Nov 2014 um 16:22 Uhr)
  Mit Zitat antworten Zitat
matashen

Registriert seit: 29. Jan 2007
Ort: daheim
480 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#5

AW: OLE. DLL Zugriff. XE2

  Alt 12. Nov 2014, 16:38
Also wenn ich
strPCopy(DLL,Path);
einsetze, krachts und es kommt zu einer Zugriffsverletzung.


Delphi-Quellcode:
 TCheck_DB_Connection = Function:integer;stdcall;
....
    DLLGET_Batch_INFOS_XML :TGET_BATCH_INFOS_XML;
    DLLCheck :TCheck_DB_Connection;
    DLLHandle :THandle;
    DLL :Pchar;
dürfte auch passen? Oder muss ich das anders deklarieren.
Matthias
Das Leben ist eines der härtesten.
  Mit Zitat antworten Zitat
matashen

Registriert seit: 29. Jan 2007
Ort: daheim
480 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#6

AW: OLE. DLL Zugriff. XE2

  Alt 12. Nov 2014, 17:14
2.1 Funktionsprototyp / Parameter
Die meisten Funktionen haben folgenden Aufbau:
function FunktionsName_XML (pIn:pchar;pOut:pchar;size:integer):integer;export ;stdcall;
Parameter: pIn Struktur für Eingabeparameter
pOut Puffer für die Struktur der Ausgabeparameter
size Größe des Ausgabepuffers pOut in Byte
Parameterstruktur:
Die In,-Out-Parametern werden in einer XML Struktur übergeben
Matthias
Das Leben ist eines der härtesten.
  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 04:52 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 by Thomas Breitkreuz