2012-05-14 11 views
7

Używam Delphi XE2 do napisania aplikacji VCL win32. Delphi XE2 obsługuje aktywne wiązanie. Wczytam przykładowy plik Biolife.xml do instancji TClientDataSet.Jak używać żywego powiązania do powiązania obszaru blob z kontrolą TImage?

I stanie powiązać kontrolę TEdit na polu Parametry danej jednostki: Gatunki Nazwa:

object BindLinkEdit11: TBindLink 
    Category = 'Links' 
    SourceMemberName = 'Species Name' 
    ControlComponent = Edit1 
    SourceComponent = BindScopeDB1 
    ParseExpressions = <> 
    FormatExpressions = < 
    item 
     ControlExpression = 'Text' 
     SourceExpression = 'DisplayText' 
    end> 
    ClearExpressions = <> 
end 

Potem próbuje związać polu grafiki do TImage sterowania:

object BindLinkImage11: TBindLink 
    Category = 'Links' 
    SourceMemberName = 'Graphic' 
    ControlComponent = Image1 
    SourceComponent = BindScopeDB1 
    ParseExpressions = <> 
    FormatExpressions = < 
    item 
     ControlExpression = 'Picture' 
     SourceExpression = 'Value' 
    end> 
    ClearExpressions = <> 
end 

Wydaje się, że nie robi praca. Czy to możliwe?

Odpowiedz

7

Zapoznaj się z projektem demonstracyjnym BindLinkVCLProject. Pokazano także wiążące dla obrazu, więc domyślam się, trzeba zrobić to w ten sposób (the Self w SourceExpression reprezentuje pole blob):

object BindLinkImageHandler: TBindLink 
    Category = 'Links' 
    SourceMemberName = 'Graphic' 
    ControlComponent = Image1 
    SourceComponent = BindScopeDB1 
    ParseExpressions = < 
    item 
     ControlExpression = 'Picture' 
     SourceExpression = 'Self' 
    end> 
    FormatExpressions = < 
    item 
     ControlExpression = 'Picture' 
     SourceExpression = 'Self' 
    end> 
    ClearExpressions = < 
    item 
     ControlExpression = 'Picture' 
     SourceExpression = 'nil' 
    end> 
end 
Powiązane problemy