AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

IExtractImage

Ein Thema von tomkupitz · begonnen am 24. Mär 2021 · letzter Beitrag vom 25. Mär 2021
Antwort Antwort
tomkupitz

Registriert seit: 26. Jan 2011
341 Beiträge
 
Delphi 12 Athens
 
#1

IExtractImage

  Alt 24. Mär 2021, 16:54
Hallo,

ich habe einen gültigen ShellFolder und einen gültigen RelativePIDL. Das ExtractImage ist gültig. Wenn ich die Proc unten einmal aufrufe erhalte ich die HBITMAP. In einer Schleife wird die Proc immer wieder aufgerufen. Dann bleibt sie bei res:=ExtractImage.Extract(hbmp); hängen un kehrt nicht zurück. Warum?

Code:
  res:=CoInitializeEx(nil, COINIT_APARTMENTTHREADED or COINIT_DISABLE_OLE1DDE);

  if Succeeded(res) then
  begin
    res:=ShellFolder.GetUIObjectOf(0, 1, PDataInfo(ChildItem.Data).RelativeIDL, IExtractImage, nil, Pointer(ExtractImage));

    if Succeeded(res) then
    begin
      sz.cx:=Width;
      sz.cy:=Height;

      Priority:=IEIT_PRIORITY_NORMAL;
      ImgColorDepth:=32;
      Flags:=IEIFLAG_ASPECT or IEIFLAG_ASYNC;

      GetLocationRes:=ExtractImage.GetLocation(buf, sizeof(buf), Priority, sz, ImgColorDepth, Flags);

      if (GetLocationRes = NOERROR) or (GetLocationRes = E_PENDING) then
      begin
        res:=ExtractImage.Extract(hbmp);

        if Succeeded(res) then
        begin
          result:=TBitmap.Create;
          result.Handle:=hbmp;
          result.Dormant;
        end;
      end;
    end;

    CoUninitialize;
  end;
Danke und beste Grüße
  Mit Zitat antworten Zitat
TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.070 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: IExtractImage

  Alt 25. Mär 2021, 09:08
Delphi-Quellcode:
        res:=ExtractImage.Extract(hbmp);

        if Succeeded(res) then
Ist dann im hängen bleiben Fall res ungleich S_OK?
  Mit Zitat antworten Zitat
tomkupitz

Registriert seit: 26. Jan 2011
341 Beiträge
 
Delphi 12 Athens
 
#3

AW: IExtractImage

  Alt 25. Mär 2021, 09:13
Kehrt gar nicht mehr aus res:=ExtractImage.Extract(hbmp); zurück. Ich kann res nicht auswerten.
  Mit Zitat antworten Zitat
TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.070 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: IExtractImage

  Alt 25. Mär 2021, 10:32
Baue uns mal ein kleines, aber vollständiges Testprojekt.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:02 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz