Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Darstellungsfehler nach Einbindung externer dll-Dateien (https://www.delphipraxis.net/187877-darstellungsfehler-nach-einbindung-externer-dll-dateien.html)

moos 11. Jan 2016 15:40

Darstellungsfehler nach Einbindung externer dll-Dateien
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo Delphi- Forum,
ich habe schon viel Hilfe bei Euch gefunden, vielen Dank dafür.

Nun habe ich ein Problem mit dem ich einfach nicht weiterkomme, weil ich gar nicht weiß, wo ich ansetzen soll.
Wie im Anhang zu sehen ist, fallen mir die Buchstaben in Label und Groupbox zusammen oder werden gar nicht dargestellt (oben; unten korrekte Darstellung). Die Schriftart ist Arial. Es sind auch der Inhalt einer Treeview und die Caption der Hauptform betroffen.

Dies passiert bisher bei Windows 7 Professional Rechnern (64 bit), allerdings nicht bei allen.
Der Code wird auf einem Windows 7 Professional (32 bit) mit Delphi XE2 kompiliert.
Allerdings werden zwei externe dll-Dateien eingebunden, die in C# geschrieben sind und auf einem 64 bit Rechner kompiliert werden. Die dll-Dateien werden mithilfe eines C++ Adapters (eigene dll-Dateien) eingebunden.

Wenn die dll-Dateien nicht eingebunden werden, wird die Oberfläche korrekt dargestellt.
Die externen dll-Dateien benötigen das .NET 4 Framework. Auf den „Problemrechnern“, die sich leider ausschließlich bei Kunden befinden, ist teilweise das .NET 4.5 Framework drauf. Sollte ja eigentlich kein Problem sein.

Hat jemand eine Idee, was ich übersehen habe?

Viele Grüße Carola

Gerd01 11. Jan 2016 19:38

AW: Darstellungsfehler nach Einbindung externer dll-Dateien
 
Du kannst nicht einfach eine C# dll in Delphi einbinden, wie du es von Delphi kennst.
Das Speichermanagement ist völlig verschieden. Du kannst allerdings in C# einen COM-Wrapper schreiben.
Ich habe mich die letzten Tage durchgewühlt und habe es jetzt einigermaßen verstanden. Wenn du weiter Interesse an Lösungen hast melde dich.

Sir Rufo 11. Jan 2016 19:50

AW: Darstellungsfehler nach Einbindung externer dll-Dateien
 
@Gerd01

Es geht auch mit ohne COM: Unmanaged Exports (DllExport for .Net)

moos 12. Jan 2016 08:34

AW: Darstellungsfehler nach Einbindung externer dll-Dateien
 
Vielen Dank für Eure Antworten.

Auf den meisten Rechnern funktioniert unser Programm ohne Probleme. Es gibt nur wenige Ausnahmen von denen ich nicht festmachen kann, was daran anders ist. Alle Testrechner, alle Rechner in der Firma und auch im privaten Umfeld weisen die "Symptome" nicht auf. Daher habe ich die Schuld nicht an der Art des Einbindens der DLL gesucht.

Wenn ich es richtig verstehe, wäre in beiden Fällen die Vorbereitung zur "richtigen" Einbindung vom dll-Dateien Lieferant zu treffen?
Ich selbst kenne mich nur mit Delphi einigermaßen aus.
Die NuGet Gallery hatte ich auch schon als Link weitergegeben, dann werde ich mal versuchen in der Richtung weiter zu kommen.

Vielen Dank für Dein Angebot Gerd01, ich würde darauf gegebenenfalls gerne darauf zurückkommen.

Bernhard Geyer 12. Jan 2016 08:40

AW: Darstellungsfehler nach Einbindung externer dll-Dateien
 
Darstellungsfehler - Da würde ich mal die unterschiede bei den Grafikkarten + Treibern suche.
Die letzten ganz schlechten Erfahrungen hatte ich mit den HD-Treibern von Intel. Also hierbei die ersten Generationen.
Aktuelle HD-Grafiken zeigen keine Probleme mehr.

bepe 12. Jan 2016 09:03

AW: Darstellungsfehler nach Einbindung externer dll-Dateien
 
Angesichts der Symptome vielleicht etwas sehr weit her geholt aber ggf. mal die FPU Exceptions kontrollieren. Der Delphi Compiler ist wohl so ziemlich der einzige der von Haus aus die Exceptions einschaltet. Als ich eine .Net DLL einbinden wollte hat das zu massiven Fehlern geführt. Exceptions ausgeschaltet und alles lief.

Stichworte: SetExceptionMask, 8087


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:23 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