Ich hab mal dein Beispiel versucht umzusetzen und konnte dennoch nichts sehen.
Und meine eigene
WMI-Klasse zeigt uch keine Werte zu Win32_PhysicalMemory an.
Es wird zwar zu Win32_PhysicalMemory verwunden (da keine Verbingungsfehler auftritt), aber es scheint keine Instanzen zu geben.
In dem angehängten Programm ist dein Code von oben drin,
nur
Locator := TSWbemLocator.Create(nil); wurde eingefügt (so wie ich es in meine Klasse verwende und soweit ich das sehe ist der restliche Code ähnlich Meinem)
Die letzen Abfragen gehören nicht zur
RAM-Bank-Erkennung ... die gehören wohl zur Abschluß-Bestätigung (oder sowas) von SinkClasses.Cancel; am Anfang