Allora, pensavo quasi di aver risolto invece ancora non ci sono -.-"
ho copiato entrambi i file nelle cartelle ( .dll e .pas ), poi ho messo HardInfosAndComputerID nelle uses, e per provare ho fatto un form con un pulsante e una label. In public declaretion ho messo

h : Thardwareinfos;

e poi nel pulsante ho messo

procedure TForm1.Button1Click(Sender: TObject);
begin
Label4.Caption := h.CPUName;
end;

E in compilazione non mi da errore mentre runtime mi da un errore di access violation. Come mai ?