Hi @All,
Moin!
habe eine frage,
verwende in meinen aktuelle project unicode,
habe eine procedure die aber unicode nicht unterstützt,
wie kann ich den kompiler beibringen das er diese procedure
nicht in unicode mode ausführt?
Danke
jpd
unicode für funktion ausschliessen
unicode für funktion ausschliessen
Zuletzt geändert von jpd am 19.10.2007 10:22, insgesamt 1-mal geändert.
PB 5.10 Windows 7 x64
soweit ich weiß geht das nicht.
du muesstest die string-daten manuell hin- und zurueck umwandeln in ascii/unicode.
du muesstest die string-daten manuell hin- und zurueck umwandeln in ascii/unicode.
Zuletzt geändert von #NULL am 19.10.2007 10:09, insgesamt 1-mal geändert.
Hi #NULL,
danke das hatte ich befürchtet!
gethostbyname_(
wenn unicode eingeschaltet ist dann gibt dieser api call
immer 0
danke
jpd
danke das hatte ich befürchtet!
Code: Alles auswählen
Procedure.s GetIPbyName (NameIP.s)
TheIPAdress.s
If InitNetwork()
pHostinfo = gethostbyname_(NameIP)
If pHostinfo = 0
TheIPAdress = "Unable to resolve domain name"
Else
CopyMemory (pHostinfo, hostinfo.HOSTENT, SizeOf(HOSTENT))
If hostinfo\h_addrtype <> #AF_INET
MessageRequester("Info","A non-IP address was returned",0)
Else
While PeekL(hostinfo\h_addr_list+AdressNumber*4)
ipAddress = PeekL(hostinfo\h_addr_list+AdressNumber*4)
TheIPAdress = StrU(PeekB(ipAddress),0)+"."+StrU(PeekB(ipAddress+1),0)+"."+StrU(PeekB(ipAddress+2),0)+"."+StrU(PeekB(ipAddress+3),0)
AdressNumber+1
Wend
EndIf
EndIf
Else
MessageRequester("Info","Network can't be initialized",0)
EndIf
ProcedureReturn TheIPAdress
EndProcedure
wenn unicode eingeschaltet ist dann gibt dieser api call
immer 0
danke
jpd
PB 5.10 Windows 7 x64
@jpd:
nach meinen Kenntnissen verlangt gethostbyname_() einen Ansi-String als
Übergabeparameter. Also musst Du zuvor den Unicode-String in Ansi
umwandeln.
Grüße ... Kiffi
nach meinen Kenntnissen verlangt gethostbyname_() einen Ansi-String als
Übergabeparameter. Also musst Du zuvor den Unicode-String in Ansi
umwandeln.
Code: Alles auswählen
Procedure.s Uni2Ansi(*Unicode.l)
Size.l = WideCharToMultiByte_(#CP_ACP, 0, *Unicode, -1, #Null, #Null, #Null, #Null)
ansi.s=Space(Size)
WideCharToMultiByte_(#CP_ACP, 0, *Unicode, -1, @ansi, Size, #Null, #Null)
ProcedureReturn ansi
EndProcedure
pHostinfo = gethostbyname_(Uni2Ansi(@NameIP))
a²+b²=mc²