Einzelnen Beitrag anzeigen

delnu
(Gast)

n/a Beiträge
 
#75

AW: RTF - Absatzhintergrund setzen

  Alt 15. Jul 2011, 17:18
Zitat:
wie kann ich heraus bekommen wlche RichEdit-Version aktuell (von Delphi) genutzt wird?
Jetzt, wo Du es erwähnst :
Bei Delphi 7, Unit "ComCtrls" heißt es :
Delphi-Quellcode:
procedure TCustomRichEdit.CreateParams(var Params: TCreateParams);
const
  RichEditModuleName = 'RICHED32.DLL';
  HideScrollBars: array[Boolean] of DWORD = (ES_DISABLENOSCROLL, 0);
  HideSelections: array[Boolean] of DWORD = (ES_NOHIDESEL, 0);
begin
  if FRichEditModule = 0 then
  begin
    FRichEditModule := LoadLibrary(RichEditModuleName);
    if FRichEditModule <= HINSTANCE_ERROR then FRichEditModule := 0;
  end;
  inherited CreateParams(Params);
  CreateSubClass(Params, 'RICHEDIT');
  with Params do
  begin
    Style := Style or HideScrollBars[FHideScrollBars] or
      HideSelections[HideSelection];
    WindowClass.style := WindowClass.style and not (CS_HREDRAW or CS_VREDRAW);
  end;
end;
Ob es aber was bringt, statt 'RICHED32.DLL' nun 'RICHED20.DLL' hinzuschreiben, glaube ich nicht, zumal es ja nicht wirklich möglich ist, die Standard-Units neu zu compilieren.

Wie man einige neuere RichEdit-Möglichkeiten nutzen kann, wird ja von Wolfgang Beintvogl ( siehe den Auszug aus der Toolbox inkl. Sourcen im Beitrag #8 ) erklärt.

Wie man gezielt DLLs auswertet, um dann anhand der gewonnenen Namen von Funktionen und Prozeduren auf diese zugreifen zu können, weiß ich leider nicht mehr. Dafür habe ich mich einige Jahre lang nicht mehr intensiv genug mit Delphi befaßt. Es kann natürlich sein, daß Borland seinerzeit nicht alles eingebunden hat, weil es das z.B. vielleicht damals noch nicht gab. In sofern ein interessanter Aspekt.

So, ich hatte jetzt zwischendurch mal etwas gegoogelt und dann bei Heise diesen Download-Link http://www.heise.de/software/download/ddwl37900 für "Dependency Walker" gefunden und mir dann damit mal kurz die 'RICHED20.DLL' angesehen. Was da erst noch alles an weiteren DLLS eingebunden wird, ist erschreckend.

Allerdings ist das eigentliche Endergebnis eher ernüchternd :
IID_IRichEditOle
IID_IRichEditOleCallback
CreateTextServices
IID_ITextServices
IID_ITextHost
IID_ITextHost2
REExtendedRegisterClass
RichEdit10ANSIWndProc
RichEditANSIWndProc

Geändert von delnu (15. Jul 2011 um 17:54 Uhr)
  Mit Zitat antworten Zitat