Einzelnen Beitrag anzeigen

Benutzerbild von littleDave
littleDave

Registriert seit: 27. Apr 2006
Ort: München
556 Beiträge
 
Delphi 7 Professional
 
#6

Re: abstract error in componente

  Alt 19. Sep 2008, 14:22
Delphi-Quellcode:
  TJvCustomInspectorData.ItemRegister.
  Add(TJvInspectorTypeInfoRegItem.Create(TJvInspectorPictureItem ,
                                           TypeInfo(TPicture)));
Du setzt hier den Editor für den Typ TPicture
Und hier verwendest du ein cast auf TPngObject:
Delphi-Quellcode:
function TJvInspectorPngImage.GetDisplayValue: string;
begin
  if TPngObject(Pointer(Data.AsOrdinal)).Empty then <--- da müsste es krachen
     { ... }
end;
Diese Zeile müsste lauten:
if TPicture(Pointer(Data.AsOrdinal)).Graphic.Empty then So, du kannst ja über den Cast schließlich auf die TPicture-Klasse zugreifen. Warum machst du das dann auch nicht hier:
Delphi-Quellcode:
procedure TJvInspectorPngImage.Edit;
begin
  { ... }
  if MainForm.dlgPicture.Execute then
  begin
    TPicture(Pointer(Data.AsOrdinal)).LoadFromFile(PngImageFile);
  end;
  { ... }
end;
Dann brauchst du auch das tmpPngImage nicht mehr.

Und mit dem abstakten Fehler: erstell mal ein Editor für die "Margins" - musst ja nichts großes machen - einfach nur mal schauen, ob sich dadurch das Problem löst
Jabber: littleDave@jabber.org
in case of 1 is 0 do external raise while in public class of object array else repeat until 1 is 0
  Mit Zitat antworten Zitat