Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.071 Beiträge
 
Delphi 12 Athens
 
#12

AW: DLL - Probs mit Strings

  Alt 3. Okt 2011, 14:58
Datei 1 ist so aufgebaut:
Code:
0000   'TechnoTrend BDA/DVB-S Tuner'#0
0104   #0
0208   'TechnoTrend BDA/DVB Capture'#0
030C  #0
0410   #0
0514   'TT-budget S2-3200'#0
0618   3


Offset 061A:
0000   'USB 2.0 BDA DVB-S Tuner'#0
0104   #0
0208   'USB 2.0 BDA DVB Capture'#0
030C  #0
0410   #0
0514   'TT-connect S-2400'#0
0618   2
Wenn ich Nachzähle, dann komm ich auf 6 Strings á 260 (MAX_PATH) AnsiChars und ein nachfolgendes WORD.
Die alte Version hat also einen String weniger.

Datei 2:
Code:
0000   'TechnoTrend BDA/DVB-S Tuner'#0
0104   #0
0208   'TechnoTrend BDA/DVB Capture'#0
030C  #0
0410   #0
0514   #0
0618   'TT-budget S2-3200'#0
071C  3

Offset 0AAC:
0000   'USB 2.0 BDA DVB-S Tuner'#0
0104   #0
0208   'USB 2.0 BDA DVB Capture'#0
030C  #0
0410   #0
0514   #0
0618   'TT-connect S-2400'#0
071C  2
Hier sind es 7 Strings á 260 (MAX_PATH) AnsiChars und das nachfolgende WORD.
Was genau deiner Deklaration entspricht.

Die 260 Stimmen also. (bzw. Meiner aus )


Zitat:
Schon eom wenig eigenartig, das hier MAX_PATH mal mit 520 und dann mit 260 Zeichen verwendet wird.
520 = 2 * 260 = 2 Strings und der Zweite ist leer

ANSI ist auch korrekt, denn bei Unicode würde jeweils eine #0 zwischen jedem einzelnen Buchstaben liegen und ein String wäre MAX_PATH * SizeOf(WideChar) = 520 Byte groß.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu ( 3. Okt 2011 um 15:09 Uhr)
  Mit Zitat antworten Zitat