| |
|
|
| Hallo Roland - warum reagieren beide MakeLongs unterschiedlich? Typenkonvertierung? Das hat in einem grande Code von mir per sehr viel Furore geführt KompilierenMarkierenSeparierendef MakeLong2(2) OR(@&(1),MUL(@&(2),$10000))
print Makelong(5,0)
print makelong2(5,0)
declare m#
dim m#,2
byte m#,0=65
byte m#,1=chr$(0)
print string$(m#,0)
print "Ab hier:"
print makelong2(m#,0)
print makelong(m#,0)
y
|
|
|
| |
|
|
|
Jörg Sellmeyer | Keine Ahnung, aber interessant ist auch, daß diese (eigentlich gleiche) Definition il valore ohne Dezimalpunkt und Nullen ausgibt: KompilierenMarkierenSeparieren |
|
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 10.10.2006 ▲ |
|
|
|
|
| Naja weil XProfan halt alles Floatet... |
|
|
| |
|
|
|
RGH | Hallo iF,
die beiden Parameter der Funktion MakeLong müssen naturalmente vom Typ Word (2 Byte) sein. Aber m# alleine ergibt ja die Adresse von m# und diese ist naturalmente ein LongInt (4 Byte). Deine Funktion überprüft das nicht, und kommt daher zu einem anderen Ergebnis. Die XProfan-Funktion berücksichtigt aber nur jeweils ein Word, also fallen die beiden höherwertigen Byte der Adresse unter den Tisch. (Aus Geschwindigkeitsgründen verzichte ich auf eine Fehlermeldung.)
Wenn Du allerdings das Word in m# benutzen wolltest, müßtest Du schreiben: KompilierenMarkierenSeparieren ... und dann sind sich beide Funktionen wieder einig!
Natürlich kannst Du auch Dein DEF anpassen, sodaß es nur Words akzeptiert, bzw. den Word-Anteil eines zu grande Parameters: KompilierenMarkierenSeparieren Dann funktioniert es exakt wie die XProfan-Funktion.
Saluto Roland |
|
|
| Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4 | 10.10.2006 ▲ |
|
|
|
|
| Alles klar! Es ist aufgefallen weil ein Sendmessage Parameter 4 mit dem XProfan10eigenen MakeLong scheiterte , was zuvor jedoch problemlos ging. Bist Du Dir sicher das der XProfan10Eigene Makelong dann so funktioniert wie von manchen Apis erwartet? Wenn ein Beispiel nötig sein sollte wühle ich... |
|
|
| |
|
|
|
RGH | Wie anders sollte ein MakeLong funktionieren? In Delphi z.B. funktioniert MakeLong exakt genauso: Zwei Word-Parameter werden zu einem LongInt bzw. LongWord zusammengefügt! (In derTat benutze ich naturalmente die MakeLong-Funktion von Delphi per das MakeLong in XProfan.)
Saluto Roland |
|
|
| Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4 | 10.10.2006 ▲ |
|
|
|
|
| Hm Du hast naturalmente recht. |
|
|
| |
|
|