TAdvSmoothDockDesktop is gone

Hello,

I updated to new version and I get some errors now.

#include "AdvSmoothDockDesktop.hpp" is unknown

TAdvSmoothDockDesktop is unknown 

((TAdvSmoothDockDesktop*)(SmBar))->AlignDesktop(adBottom);

Thanks for your help

Thomas

AdvSmoothDockDesktop.* was never included in the TMS Component Pack.
Did you create this file yourself separately?

Sorry but this is defined in the file  AdvSmoothDockDesktop.pas which is from you.


unit AdvSmoothDockDesktop;

interface

uses
AdvSmoothDock, Classes;

type
TAdvSmoothDockDesktop = class(TAdvSmoothDock)
public
procedure AlignDesktop(Align: TAdvSmoothDockAlignDesktop); override;
property DockOnDeskTop;
property DockVisible;
end;

procedure Register;

implementation

procedure Register;
begin
RegisterComponents('TMS SmoothControls', [TAdvSmoothDockDesktop]);
end;

{ TAdvSmoothDockDesktop }

procedure TAdvSmoothDockDesktop.AlignDesktop(Align: TAdvSmoothDockAlignDesktop);
begin
inherited;
end;


end.

This file is not and was not part of the TMS Component Pack distribution.
I can only assume it was once sent in the past separately to help you for an issue, but it is not part of the standard TMS Component Pack distribution. So, if you need this unit, please reapply this separate file in your TMS Component Pack install.

Ok, I will check this. But how can I show the TAdvSmoothDock at the bottom of my application?

So I used your old code "advsmoothcontrolspackreg_4_0_2_0.zip" and I have the file again. Please check the verision 4.0.2.0. The file I downloaded at 06.07.2011.

Hi, 


Please use the following code on a AdvSmoothDock instance:

type
  TAdvSmoothDockDesktop = class(TAdvSmoothDock);

  TForm1 = class(TForm)
    AdvSmoothDock1: TAdvSmoothDock;
    procedure FormCreate(Sender: TObject);
    procedure FormShow(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
  TAdvSmoothDockDesktop(AdvSmoothDock1).DockOnDeskTop := true;
  AdvSmoothDock1.AddImagesFromFolder(ExtractFilePath(Application.ExeName)+'\img\*.png');
  Self.BorderStyle := bsNone;
  Self.Height := 0;
  Self.Hide;
end;

procedure TForm1.FormShow(Sender: TObject);
begin
  AdvSmoothDock1.ShowForm;
  TAdvSmoothDockDesktop(AdvSmoothDock1).AlignDesktop(adBottom);
end;

Sorry but I use C++ Builder. Could you give me an example in C++.

Hello Pieter,

I'm only using the control TAdvSmoothDock from your lib and right now I don't know how to use it.

It would be great if you can give me a response with the solution. 

I only want to see the TAdvSmoothDock at the bottom of the main window or client window.


Thanks

Thomas

Any news?

Sorry, we haven't been able to allocate time for this.
I'd think that, giving Delphi is an easy to read language, it should be straightforward to look at this sample and make the equivalent for you in your application.

How can I hide the AdvSmoothDock. 

This code is not running

 AdvSmoothDock->Hide()

has no effect.

Can you try with AdvSmoothDock1->Visible = False ?

When the line is executed the first time the AdvSmoothDock1 is hidden, but not the second time. 


the code

__fastcall MyForm::ShowBar() {

 this.Visible = true;
 SmBar->Visible = true;

}

 __fastcall MyForm::HideBar() {

   this->Hide();
   SmBar->Visible = false;


And if I change the method ShowBar like

__fastcall MyForm::ShowBar() {

this.Visible = true;
SmBar->Visible = true;
SmBar->AlignDesktop(adBottom);
}

the appears twice. 

Can you use the method


AdvSmoothDock1->FormHookDone(); ?

When should I call the method?

closing or showing 

Can you try in the FormShow?

1. Bar is shown

2. Close the bar

3. Open again - bar is shown 2 times

when I close the second bar AV appears.

Did you convert the sample correctly?



class TAdvSmoothDockDesktop : public TAdvSmoothDock
{

};

---------------

void __fastcall TForm1::FormCreate(TObject Sender)
{
  (static_cast<TAdvSmoothDockDesktop>(AdvSmoothDock1))->DockOnDeskTop = true;
  this->BorderStyle = bsNone;
  this->Height = 0;
  this->Hide();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormShow(TObject Sender)
{
  AdvSmoothDock1->ShowForm();
  (static_cast<TAdvSmoothDockDesktop>(AdvSmoothDock1))->AlignDesktop(adBottom);
}