Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
 
Delphi 12 Athens
 
#6

AW: GetModuleName wirft Exception

  Alt 12. Jul 2012, 22:12
Zitat:
wo String = ShortString war.
Delphi 1 oder 2?

Nja, alles einfach nur auf AnsiString und PAnsiChar abzuändern, hilft auch nicht immer, denn da muß man ebenfalls aufpassen, ob auch alle aufgerufenen Funktionen und vorallem die APIs mit ANSI arbeiten.
PS: Es gibt keine ANSI-TStringList, denn diese hat man in der Unit AnsiStrings glatt vergessen, genauso arbeiten alle VCL-Komponenten fast ausschließlich nur noch mit Unicode.

Delphi-Quellcode:
procedure BplInfo(ts: TStrings);
  procedure AddInfo(const BplName: String);
  var MHnd: THandle;
  begin
    MHnd := GetModuleHandle(PChar(BplName));
    if MHnd = 0 then
      ts.Add(BplName + ': nicht geladen')
    else
      ts.Add(BplName + ': "' + GetModuleName(MHnd) + '"');
  end;
begin
  AddInfo('bdertl120.bpl');
  AddInfo('dbrtl120.bpl');
  AddInfo('designide120.bpl');
  AddInfo('rtl120.bpl');
  AddInfo('tee8120.bpl');
  AddInfo('TMSSmoothControlsPackPkgD2009.bpl');
  AddInfo('vcl120.bpl');
  AddInfo('vclactnband120.bpl');
  AddInfo('vcldb120.bpl');
  AddInfo('vclimg120.bpl');
  AddInfo('vclsmp120.bpl');
  AddInfo('vclx120.bpl');
  AddInfo('VirtualTreesD12.bpl');
  AddInfo('xmlrtl120.bpl');
end;
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu (12. Jul 2012 um 22:15 Uhr)
  Mit Zitat antworten Zitat