Seite 1 von 1

unicode für funktion ausschliessen

Verfasst: 19.10.2007 09:19
von jpd
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

Verfasst: 19.10.2007 09:26
von #NULL
soweit ich weiß geht das nicht.
du muesstest die string-daten manuell hin- und zurueck umwandeln in ascii/unicode.

Verfasst: 19.10.2007 09:57
von jpd
Hi #NULL,

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 

gethostbyname_(
wenn unicode eingeschaltet ist dann gibt dieser api call

immer 0

danke

jpd

Verfasst: 19.10.2007 10:13
von Kiffi
@jpd:

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))
Grüße ... Kiffi

Verfasst: 19.10.2007 10:16
von #NULL
[da ist glaube ich ein typo in thread-titel]

Verfasst: 19.10.2007 10:21
von jpd
Hi Kiffi,

so ist es auch!

es gibt tage da ist man einfach zu! :(

aber dafür gibt es hier immer gute hilfe :)

Danke
jpd