webForumDet fria alternativet

Tyda felmess och få igång programmet?

.NET

3 svar · 197 visningar · startad av medialabs

Medlem sedan mars 20023 686 inlägg
Frågan#1

Felmess: "ByRef argument type mismatch"

Medlem sedan okt. 20023 030 inlägg
#2

Precis under End Type i deklarationen för SYSTEM_POWER_STATUS, skriv

Dim Power As SYSTEM_POWER_STATUS

Fast det är något med koden som inte stämmer. Jag har 255% kraft i mitt batteri (som förresten inte existerar). :e

Medlem sedan mars 20023 686 inlägg
#3

Nexus86 skrev:

Precis under End Type i deklarationen för SYSTEM_POWER_STATUS, skriv

Dim Power As SYSTEM_POWER_STATUS

Fast det är något med koden som inte stämmer. Jag har 255% kraft i mitt batteri (som förresten inte existerar). :e

Hehe, fick samma fel jag med. :e , kraftfulla låsas batterier...

Medlem sedan okt. 20023 030 inlägg
#4

Jag kan tänka mig att den där funktionen returnerar procenten i hex (iaf på vissa operativ) och det ger därför ett maxvärde på 255. Du kan ju alltid ta värdet och dela med 2.55. Ex

Public Function BattPerc() As Integer
    GetSystemPowerStatus Power
    BattPerc = Power.BatteryLifePercent \ 2.55
    If Power.BatteryLifePercent = Battery_PercentageUnknown Then BattPerc = 0
End Function

Orsaken till att jag använder \ istället för / är att då får man inga decimaler (vilket du förmodligen inte vill ha) och divisionen går därför snabbare. Vet dock inte hur denna kod kommer funka på alla operativ. :l

r/ Tänker då på att vissa operativ kanske inte returnerar BatteryLifePercent som hex.

260 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
121 ms — deklarationer (db)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)