Men ifall den inte hittar nåt ska case else spotta ur sig ett värde
det gör den inte av nån anledning.
Måste det finnas ett värde för att case else ska fungera?
Se nedanstående kod.
Ifall värdet är 7 då skickar den ut case else, men om värdet
är helt tomt skippar den case else.
Case 37383 'Metering Mode
strTemp = System.BitConverter.ToUInt16(objProp.Value, 0).ToString
Select Case strTemp
Case "1"
strMeteringMode = "Average"
Case "2"
strMeteringMode = "Center Weighted Ave"
Case "3"
strMeteringMode = "Spot"
Case "4"
strMeteringMode = "Multi-Spot"
Case "5"
strMeteringMode = "Pattern"
Case "6"
strMeteringMode = "Partial"
Case Else
strMeteringMode = "Other"
End Select
Jag tror följande är ditt problem: Bilden du försöker kolla har ingen meteringMode alls, alltså reagerar inte raden Case 37383, eftersom det inte alls finns något värde som har index 37383.
Detta kan du lätt kolla genom att lägga till msgbox "" direkt efter Case 37383
Visas ingen msgbox, så körs inte heller koden efteråt, och då är det inte konstigt att strMeteringMode inte får något värde.
Vet inte om du bara har klippt ut delar av källan, men att ha den direkt innan case på det viset som det ser ut nu är riskabelt, eftersom det förutsätter att case'n innan körs. Bättre är att ha det innan select istället.