![]() |
AW: DelphiTwain findet keine Geräte in Delphi 10.1 - in XE4 alles ok
was mich aber irritiert ist dieses Video:
![]() Hier benutzt jemand ebenfalls DelphiTwain mit Delphi 10.3 ( ![]() Was ist jetzt bei mir anders? |
AW: DelphiTwain findet keine Geräte in Delphi 10.1 - in XE4 alles ok
Zitat:
Datei: DelphiTwainUtils.pas Zeile 338: if (Value > 0) and (Value >= Count) then In der Originaldatei steht if (Value > 0) and (Value <= Count) then |
AW: DelphiTwain findet keine Geräte in Delphi 10.1 - in XE4 alles ok
Ich sehe noch einige Unterschiede mehr..
Vergleich zwischen. ![]() Unicode Version nicht geprüft. ![]() und noch einiges hier! ![]() |
AW: DelphiTwain findet keine Geräte in Delphi 10.1 - in XE4 alles ok
Dein Screenshot sieht mir rechts nach Anpassungen für 32- und 64-Bit aus.
|
AW: DelphiTwain findet keine Geräte in Delphi 10.1 - in XE4 alles ok
[QUOTE=mts;1500243]
Code:
Das ist der komplette code, den man zum testen braucht. Wie man sieht nutze ich hier keine Funktionen aus irgendeiner Lib. Nutze nur die twain.pas header Datei.
var
_Handle: HInst; _TwainProc: TDSMEntryProc; res : boolean; resI : integer; idn : TW_IDENTITY; newS : TW_IDENTITY; hndl : THandle; begin _Handle := LoadLibrary('c:\Windows\twain_32.dll');; if (_Handle = INVALID_HANDLE_VALUE) then exit; _TwainProc := nil; @_TwainProc := GetProcAddress(_Handle, MakeIntResource(1)); if (@_TwainProc = nil) then exit; idn.Id := 0; idn.Version.MajorNum := 0; idn.Version.MinorNum := 0; idn.Version.Language := 0; idn.Version.Country := 0; idn.Version.Info := ''; idn.ProtocolMajor := 1; idn.ProtocolMinor := 9; idn.SupportedGroups := DG_CONTROL or DG_IMAGE; idn.Manufacturer := ''; idn.ProductFamily := ''; idn.ProductName := ''; hndl := Handle; res := _TwainProc(@idn, nil, DG_CONTROL, DAT_PARENT, MSG_OPENDSM, @hndl) = TWRC_SUCCESS; //source manager loaded if (not res) then exit; newS := idn; newS.Id := 0; resI := _TwainProc(@idn, nil, DG_CONTROL, DAT_IDENTITY, MSG_GETFIRST, @newS); if (resI = 0) then ShowMessage('gut'); Unter Delphi XE4 wird „gut“ ausgegeben, auf Delphi 10.1 nicht. Es MUSS also an der TW_Identity Struktur liegen. |
AW: DelphiTwain findet keine Geräte in Delphi 10.1 - in XE4 alles ok
Da fehlt einfach zuviel notwendige Info. Wie hast Du TW_STR32 deklariert, z. B.? Sollte sowas wie array [0..31] of AnsiChar sein, nicht char...
|
AW: DelphiTwain findet keine Geräte in Delphi 10.1 - in XE4 alles ok
Hallo,
schau Dir mal die default Alignments der beiden Delphi-Versionen an. |
AW: DelphiTwain findet keine Geräte in Delphi 10.1 - in XE4 alles ok
Diese sind im Prinzip egal.
A gibt nicht die minimale, sondern die maximale Ausrichtung an, und so lange es hier nicht um 64 Bit geht, sollte der Record überall gleich ausgerichtet werden. * größte Felder sind 4 Byte * kleine Felder 2 Byte und immer im Doppelpack, also auch 4 Was anders sein könnte, sind unterschiedliche Typgrößen, wie z.B. LongInt was im Mac erschreckender Weise 8 Byte groß sein kann, oder der eigentlich nicht existierende Typ Extended, welcher auch nicht überall gleich groß ist und den selben Typ darstellt. |
AW: DelphiTwain findet keine Geräte in Delphi 10.1 - in XE4 alles ok
Zitat:
Aber es kann doch nicht so schwer sein beide Dateien.. diese von XE4 und diese der 10.1 Version zu vergleichen. Suche im Internet nach WinMerge (Ist frei verfügbar und open Source) Installiere das Teil und vergleiche dann beide Units mit dieser Anwendung. Mache dir anschließend Gedanken darüber was hier eventuelle Unterschiede bewirken können. Wir können hier letztendlich auch nur Raten. |
AW: DelphiTwain findet keine Geräte in Delphi 10.1 - in XE4 alles ok
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
Ich habe eine einzige Header-Datei (Twain.pas) und nutze 1:1 den gleichen Code in Delphi XE4 und Delphi 10.1. Im Anhang ist mal meine Test-Anwendung. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:11 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