Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Delphi - początki
Konnekt | Forum > Developerzy > Tworzenie wtyczek
tomi7
Chciałbym napisać wtyczkę do Konekta w Delphi z wykorzystaniem kontrolek VCL, chyba można użyć VCL-a ?
Elementy tworzę dynamicznie przy starcie wtyczki wewnątrz funkcji IStart, jeśli forma jest typu TForm, to komponenty wizualne się pojawiają, ale nie mogę przypisać żadenego zdarzenia np. onClick do buttona. Jeżeli zdefiniuję własny typ TFormMain, który dziedziczy z TForm to przy starcie K jest wyjątek krytyczny.
W czym jest problem?
Jak to ma poprawnie wygladać ?

QUOTE

type
  TFormMain = class(TForm)
  private
  Button1 : TButton;
  procedure Button1Click(Sender: TObject);
  public
  end;

{$R *.res}

var
  Form1: TFormMain;

procedure TFormMain.Button1Click;
begin
  Button1.Caption := 'WORK';
end;

function IStart(): Integer;
var
  UIHandle: Integer;
  msg: PChar;
begin
  { Tutaj wtyczkę uruchamiamy... skopiowane z przykładu Simple}

  Form1 := TFormMain.Create(nil);
  with Form1 do
  begin
    Caption:='Okienko';
    Left :=100;
    Top :=100;
    Button1 := TButton.Create(nil);
    with Button1 do
    begin
      Parent := Form1;
      Caption:= 'OK';
      Height := 25;
      Width := 153;
      Top := 8;
      Left := 8;
    OnClick:= Form1.Button1Click;
    end;
  end;

  Form1.Show;

end;

winthux
VCL można używać. Nie ma przeciwskazań wink.gif.

Spróbuj ustawić w f-cji iStart breakpointa i zdebugować przechodząc krok po kroku każdą linijkę. Wtedy dowiesz się, która linijka powoduje błąd.

tak na oko moża powinno być Form1.Show() ?
bulanh
Spróbuj dać procedurę buttona jako nieprywatną składową klasy (albo nawet gdzieś poza klasą).

winthux: może, ale nie musi smile.gif
tomi7

Uff, po długich i ciężkich bojach znalazłem rozwiązanie, brakowało pliku .dfm opisującego formę, pojawiał się błąd EResNotFound.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2012 Invision Power Services, Inc.