Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

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

AW: GetModuleName wirft Exception

  Alt 12. Jul 2012, 21: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;
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

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