sftp component for delphi.net


Is there a low cost sftp component anyone knows about for .net

Posted On: Tuesday 16th of October 2012 03:52:11 AM Total Views:  371
View Complete with Replies

RELATED TOPICS OF Delphi Programming PROGRAMMING LANGUAGE




Custom components need frequent re-install

Hi all, I wrote a custom button type component that uses DrawText api to draw text on the canvas. I've noticed that frequently, the text will stop rendering in the IDE. I will then have to right click on the bpl project (in D2007 win32) click "Clean", it then uninstalls the components and then right click > Install to get them to work again. Any seen anything like this -- Warm
VIEWS ON THIS POST

226

Posted on:

Wednesday 26th September 2012
View Replies!

My first component - giving me hell! HELP!

I've started my first component recently. It is supposed to be a user account manager. I've come across a real stumbling block though. I installed it in the IDE and every few seconds was told that "Access violation at address in module JD.bpl. Read of address " So, I commented out everything and simply left the constructor and destructor - Everything worked fine. Now, I've uncommented some basic lines of the UserManager - it doesn't give me that error every few seconds but I discovered that I cannot put the component on a form and delete it. When trying to delete I get the error above. What am I doing wrong - I must be missing something but I can't see it. Its driving me NUTS Here is my stripped down component - Everything else is commented out so it isn't included here: unit JdUserManager; interface uses Windows, Messages, SysUtils, Classes, SyncObjs; type TJdUsers = class(TCollection) Private FCaseSensitiveUserName: Boolean; FCaseSensitivePassword: Boolean; Protected Public end; type TJdUserManager = class(TComponent) private { Private declarations } FIniFileName: String; //FOptions: TSetOptions; //FReadMode: TAccessMode; //FStoreMode: TAccessMode; FUsers: TJdUsers; //FUserGroups: TJdUserGroups; protected { Protected declarations } function GetCaseSensitiveUserName: Boolean; function GetCaseSensitivePassword: Boolean; procedure SetCaseSensitiveUserName(Value: Boolean); Procedure SetCaseSensitivePassword(Value: Boolean); procedure SetUsers(Accounts: TJdUsers); public { Public declarations } Constructor Create(Owner: TComponent); override; Procedure DeleteUser(UserName: String); Destructor Destroy; override; published { Published declarations } Property CaseSensitiveUserName: Boolean read GetCaseSensitiveUserName write SetCaseSensitiveUserName; Property CaseSensitivePassword: Boolean read GetCaseSensitivePassword write SetCaseSensitivePassword; property IniFileName: String read FIniFileName write FIniFileName; property Users: TJdUsers read FUsers write SetUsers; end; procedure Register; implementation procedure Register; begin RegisterComponents('JD', [TJdUserManager]); end; //------------------------------------------------------------------------------ //-*** TJdUserManager ***------------------------------------------------------- //------------------------------------------------------------------------------ Constructor TJdUserManager.Create(Owner: TComponent); begin Inherited Create(Owner); end; procedure TJdUserManager.SetUsers(Accounts: TJdUsers); begin If Assigned(Accounts) then begin //FUsers := Accounts; //commented out to try the next line.. inherited Assign(Accounts); end; end; procedure TJdUserManager.DeleteUser(UserName: String); begin //FUsers.Delete(UserName); end; function TJdUserManager.GetCaseSensitiveUserName: Boolean; begin Result := FUsers.FCaseSensitiveUserName; end; function TJdUserManager.GetCaseSensitivePassword: Boolean; begin Result := FUsers.FCaseSensitivePassword; end; procedure TJdUserManager.SetCaseSensitiveUserName(Value: Boolean); begin FUsers.FCaseSensitiveUserName := Value; end; procedure TJdUserManager.SetCaseSensitivePassword(Value: Boolean); begin FUsers.FCaseSensitivePassword := Value; end; Destructor TJdUserManager.Destroy; begin Inherited Destroy; end; //----------** End TJdUserManager **-------------------------------------------- end.
VIEWS ON THIS POST

319

Posted on:

Wednesday 26th September 2012
View Replies!

QC63192 Properties duplicating when changing focus on component

I thought this was odd. Not sure if anyone else can duplicate. When selecting a component, putting focus on a property, then selecting a different component of a different type, will duplicate properties. See steps on how I did this with a bare bones project. My Delphi is under VMWare on XP Pro SP3. 1- Create New Project. 2- Add a TCheckbox 3 - Add a TEdit Box 4. Select the TCheckbox and look at the properties. Put focus in the TabOrder. 5. Select the TEdit and then look at the properties. You may or may not see 2 tab orders. If not, click in the Tab Order to put focus there. 6. Click on the TCheckbox again and look at the properties. You should see 2 Tab Order properties. Lance Rasmussen
VIEWS ON THIS POST

254

Posted on:

Wednesday 26th September 2012
View Replies!

Posting rights in borland.public.delphi.vcl.components.using

Windows Mail could not post your message. Subject '"Richedit line insertion error"', Account: 'newsgroups.codegear.com', Server: 'newsgroups.codegear.com', Protocol: NNTP, Server Response: '480 you do not have posting access to {borland.public.delphi.vcl.components.using}', Port: 119, Secure(SSL): No, Server Error: 480, Error Number: 0x800CCCA9 What is the problem here
VIEWS ON THIS POST

322

Posted on:

Thursday 27th September 2012
View Replies!

Abandoned projects/components

, I am proud Delphi developer for ten years and I am a little upset that many component developers abandoned their projects. Let's say http://www.shellplus.com it is very powerful components for supporting Window shell system. This project do not has competitors and it is only one components such type available for Delphi. Unfortunately ShellPlus team abandoned project, they no longer answer to forum(forum full of s*x adds), do not answer to support, do not release new version. There are many such projects which had great success and suddenly disappeared. I understand why it happened so, there is no marted for Delphi components anymore, it was big some time ago but not know. Maybe CodeGear team could buy these great abandoned projects, take development of them and include in Delphi as default components What do you think
VIEWS ON THIS POST

309

Posted on:

Friday 28th September 2012
View Replies!

sftp component for delphi.net

Is there a low cost sftp component anyone knows about for .net
VIEWS ON THIS POST

433

Posted on:

Saturday 29th September 2012
View Replies!

component caption font color

How do I change the component font color caption display( say the Indy idSMTP) from white with a beige background to black It is the same with Dialogs, Internet Express, etc. Libby
VIEWS ON THIS POST

107

Posted on:

Tuesday 2nd October 2012
View Replies!

Multi-dimensional arrays: static dimensions, rectangular versus jagged types, component aliasing

Hi I am a frequent user of multi-dimensional arrays. They are a great data structure, but there is still scope for improvement! Below I list some deable features that are not AFAIK available in Delphi 7. Perhaps some or all these features are already available in later versions of Delphi. Can anyone advise 1. ocation and resizing of multi-dimensional dynamic arrays containing some static dimensions. The SetLength method for allocating or re-dimensioning a dynamic array leaves something to be deed, because not sufficiently general to handle arrays containing some static dimensions. Consider the following type definitions: type TMyRecord= record Value: integer; {...} end; TDynamicArray1D= array {DimensionSize0} of TMyRecord; TDynamicArray2DA= array {DimensionSize1} of TDynamicArray1D; TDynamicArray3DA= array {DimensionSize2} of TDynamicArray2DA; TDynamicArray2DB= array {[{DimensionSize1=}2} of TDynamicArray1D; {*Static* array type} TDynamicArray3DB= array {DimensionSize2} of TDynamicArray2DB; var DynamicArray3DA: TDynamicArray3DA; DynamicArray3DB: TDynamicArray3DB; begin SetLength(DynamicArray3DA, 10, 6, 3); {This succeeds} SetLength(DynamicArray3DB, 10, 2, 3); {This fails} ... end; Array type TDynamicArray3DA, whose dimensions are all dynamic, can be allocated with a single SetLength call. On the other hand, array type TDynamicArray3DB, which contains a static dimension at level 1, cannot be allocated by a single call to SetLength. One has to write SetLength(DynamicArray3DB, 10); for i:= 0 to 9 do for j:= 0 to 2 do SetLength(DynamicArray3DB[i, j], 3); What we need is another dynamic array allocation method having syntax along the following lines: SizeArray(var DynamicArray, DimensionSizeArray]; where DimensionSizeArray= '[' DimensionSize {',' DimensionSize} ']'; DimensionSize= DynamicDimensionSize | StaticDimensionSize; DynamicDimensionSize= IntegerExpression; StaticDimensionSize= 'S' | ' ' An integer expression is provided for each dynamic dimension, whilst the character 'S' or ' ' is provided for each static dimension. Thus the sizing statement for the above array could be written SizeArray(DynamicArray3DB, [10, S, 3]); {S stands for 'Static dimension'} or SizeArray(DynamicArray3DB, [10, , 3]); 2. Differentiation between rectangular and jagged arrays. C# differentiates between rectangular and jagged arrays. Delphi D7 doesn't, as far as I am aware. It would be deable to support both cases and if necessary extend the SizeArray method to handle both cases. 3. Extending the "with" statement to alias array component references. To avoid unnecessary repeated multiple subscripting it would be deable to have an extended 'with' syntax along the following lines: for i:= 0 to High(DynamicArray3DB) do with DI as DynamicArray3DB[i] do {DI is an alias for DynamicArray3DB[i]} begin SI:= i*100; for j:= 0 to High(DI) do with DIJ as DI[j] do begin SIJ:= SI + j*10; for k:= 0 to High(DIJ) do begin with DIJ[k] do begin {.}Value:= SIJ + k; end; end; end; end; If only reading array component values, one can avoid unnecessary multiple subscripting by using separate variables pointing to dynamic arrays as follows: var DynamicArray3DA: TDynamicArray3DA; DI: TDynamicArray2DA; DIJ: TDynamicArray1D; begin SetSizeArray(DynamicArray3DA, [10, 5, 3]); for i:= 0 to High(DynamicArray3DA) do begin DI:= DynamicArray3DA[i] ; SI:= i*100; for j:= 0 to High(DI) do {etc.} This approach cannot be used efficiently when writing array component values, because of Delphi's copy on modify policy. For writing one has to use: for i:= 0 to High(DynamicArray3DB) do with DI as DynamicArray3DB[i] do {DI is an alias for DynamicArray3DB[i]} begin SI:= i*100; for j:= 0 to High(DI) do begin DIJ:= DI[j]; SIJ:= SI + j*10; for k:= 0 to High(DIJ) do begin with DIJ[k] do begin {.}Value:= SIJ + k; end; end; DI[j]:= DIJ; {Must copy modified array back to parent array component!} end; end;
VIEWS ON THIS POST

296

Posted on:

Wednesday 3rd October 2012
View Replies!

Frustrations trying to change component packages

This is frustrating me to no end! I am trying to change a component package using the ide and it simply refuses to accept my changes. Here is what I am doing: I installed component package using it's install, which puts the bpl in my \windows\system32 directory. I hate this and want the package in a different directory. Use Component/Install Packages... menu and get to the completely useless Install Packages dialog ( wtf is there even an edit button there if it does absolutely nothing!) So I remove the offending package, np. I add the new package, np. I click ok and close. I open the dialog back again, and what do I see It ignores my changes, and put things back the way they were. I can do this over and over but it does the same. I decide to restart the ide before looking the second time, does not matter. It ignores what I want and just keeps doing it the way the ide wants. I have tried various levels of ide restarts and machine reboots to get the ide to remove the old bpl and recognize the new location, but nothing seems to work. I can remove the package and it won't come back, but I still can't add the new bpl location because it still insists that the package is already loaded even though it clearly is not installed. I do not recall having these kinds of problems with installing and changing packages before the December update, but I am not sure of the cause and do not want to blame the update. Can anyone offer any advice on getting the ide to recognize my input as superior to it's own evil electronic wishes , Don't use the TMS Component Pack auto-installer. Instead grab the 'manual install' files. Your product download page on the TMS web site will claim that this is only for D5, but it lies.
VIEWS ON THIS POST

130

Posted on:

Thursday 4th October 2012
View Replies!

Text browser component

I'm looking for a componet which like TWebBrowser let's you click links, etc. except that it only displays text (no images, no flash, etc.). It would look like the old Lynx/Links browsers. Does such a component exist, if not how could I do this - Dan
VIEWS ON THIS POST

109

Posted on:

Monday 8th October 2012
View Replies!

DLL programming - include ADO components and forms

, I have a book "Delphi Praxis" from W.Doberenz for the bases of DLL programming but even examples of the book don't work: library TDBOperationen; { Wichtiger Hinweis zur DLL-Speicherverwaltung: ShareMem muss sich in der ersten Unit der unit-Klausel der Bibliothek und des Projekts befinden (Projekt-Quelltext anzeigen), falls die DLL Prozeduren oder Funktionen exportiert, die Strings als Parameter oder Funktionsergebnisse bergeben. Das gilt fr alle Strings, die von oder an die DLL bergeben werden -- sogar fr diejenigen, die sich in Records und Klassen befinden. Sharemem ist die Schnittstellen-Unit zur Verwaltungs-DLL fr gemeinsame Speicherzugriffe, BORLNDMM.DLL. Um die Verwendung von BORLNDMM.DLL zu vermeiden, knnen Sie String- Informationen als PChar- oder ShortString-Parameter bergeben. } uses ShareMem ,SysUtils,Classes,Forms,Controls,Windows,dialogs; Procedure NewExit; begin Showmessage('Exitprozedur der DLL'); end; function Berechne1(x,y : single ): single; stdcall; begin result := x+y; end; Procedure Berechne2(x,y : single;var z : single); stdcall; begin z := x+y; end; procedure Fensteranzeigen; stdcall; begin form1:= TForm1.create(application); try form1.showmodal; finally form1.free;end; end; exports Fensteranzeigen, Berechne1, Berechne2; {$R *.res} begin AddExitProc(NewExit); Showmessage('DLL wird geladen ...'); end. it is especially the part beginning with "form1:= TForm1.create(application);" which does not work... something seems to miss I don't like books where examples don't work...I am even not sure fully to understand the first text... Furthermore I want to make a dll, (this time for real life, not as the example before) which shall work independently as interface between a postgresSQL databank and a delphi frontend. How to use Ado components inside the dll file How block with ADO the writing access at the databank of more than one person at a time How compile dll file with other files from borland (bpl files etc which are usually added to the compiled program) to get one dll which includes all files necessary I use BDS Delphi 2005.
VIEWS ON THIS POST

120

Posted on:

Tuesday 9th October 2012
View Replies!

Clicking on a component on form causes component to shift

Something is very different in the D2007 form editor compared to Delphi 7...I've been using Delphi for years and years, but in D2007 it seems that very often when I click on a component on a form, the component gets shifted to a different position. Almost like it's trying to realign the component automatically or something. I don't think it's just a sensitive mouse because it never did this in Delphi 7. So is there some sort of "auto align to grid" option that might be enabled somewhere that could be causing this I have messed up a lot of forms because of this and it's starting to get really annoying.
VIEWS ON THIS POST

109

Posted on:

Tuesday 9th October 2012
View Replies!

Notification components list ?

Is the list of component to be notified by another within the FreeNotification/RemoveFreeNotification mechanism available as a property DH
VIEWS ON THIS POST

115

Posted on:

Tuesday 9th October 2012
View Replies!

Activating a component from Property Editor

Yep I'd like to activate a component on a form from a property editor of a TList. That is : property RelatedComponents:TStringList written : a property editor to identify a component from the input string (might be Form3.Component1). After identifying the component (ie the object variable), I'd like this component to be activated (and thus, opening any concerned TForm) at Design Time... Clear enough I hope DH
VIEWS ON THIS POST

84

Posted on:

Tuesday 9th October 2012
View Replies!

SVN/Tortoise, Delphi and 3rd party components

Third parties and svn/tortoise has been a real struggle for me to get set up. Thomas Mueller had some very interesting advice but it doesn't quit fit the size of the 3rd party libraries that I've been using. I'm switching everything to a vm and trying to set up everything in svn/tortoise at the same time. I've taken Robert Wachtel's advice here about svn and set it up in a second virtual drive and I have that physically located on a separate physical drive from my working vm. I'll keep at least a weekly image of that drive to a usb external drive from the host vista computer and I'll make a nightly copy of the virtual disk that contains svn to the other drive. The chances of both drives failing at the same time are extremely remote. I realize this isn't specifically an ide issue but my goal in all this is to have it all working in d2007 and I've seen others asking about this here and in the non-technical group. Maybe there should be a codegear group on sourcecontrol. I'm hoping someone who has long experience with this will correct any areas in this that are going to cause problems and I hope this will help anyone else trying to set up their Delphi projects in svn. After reading many posts, the svn book several times, and the Tortoise help several more times, and many more newsgroup articles relating to svn and tortoise, I've decided to make my structure for my 3rd party libraries something like: 3rd jcl --- branches --- tags --- trunk jvcl ----- branches ----- tags ----- trunk VirtualTreeview --- branches --- tags --- trunk ... etc. pretty much as recommended by the tortoise help file. I initially set them up with each library under branch, then again under tags and again under trunk, but as someone pointed out that scatters the elements all over the place and makes it difficult to deal with a single component. I've actually only svn'd Mike Lischke's VirtualTreeview so far, which is much simpler than Jedi. I'm hoping to get some confirmation of my methods before I tackle the harder ones like jedi and tms. The way I did it was the way recommended by a Tortoise tutorial sent to my by their email group, http://www.ebswift.com/Tutorials/Sub...ateimport.aspx 1. Set up the folders in svn using Tortoise browsing the svn structure: 3rd
VIEWS ON THIS POST

164

Posted on:

Tuesday 9th October 2012
View Replies!

Frustrations trying to change component packages

This is frustrating me to no end! I am trying to change a component package using the ide and it simply refuses to accept my changes. Here is what I am doing: I installed component package using it's install, which puts the bpl in my \windows\system32 directory. I hate this and want the package in a different directory. Use Component/Install Packages... menu and get to the completely useless Install Packages dialog ( wtf is there even an edit button there if it does absolutely nothing!) So I remove the offending package, np. I add the new package, np. I click ok and close. I open the dialog back again, and what do I see It ignores my changes, and put things back the way they were. I can do this over and over but it does the same. I decide to restart the ide before looking the second time, does not matter. It ignores what I want and just keeps doing it the way the ide wants. I have tried various levels of ide restarts and machine reboots to get the ide to remove the old bpl and recognize the new location, but nothing seems to work. I can remove the package and it won't come back, but I still can't add the new bpl location because it still insists that the package is already loaded even though it clearly is not installed. I do not recall having these kinds of problems with installing and changing packages before the December update, but I am not sure of the cause and do not want to blame the update. Can anyone offer any advice on getting the ide to recognize my input as superior to it's own evil electronic wishes , Don't use the TMS Component Pack auto-installer. Instead grab the 'manual install' files. Your product download page on the TMS web site will claim that this is only for D5, but it lies.
VIEWS ON THIS POST

89

Posted on:

Tuesday 16th October 2012
View Replies!

Text browser component

I'm looking for a componet which like TWebBrowser let's you click links, etc. except that it only displays text (no images, no flash, etc.). It would look like the old Lynx/Links browsers. Does such a component exist, if not how could I do this - Dan
VIEWS ON THIS POST

84

Posted on:

Tuesday 16th October 2012
View Replies!

Clicking on a component on form causes component to shift

Something is very different in the D2007 form editor compared to Delphi 7...I've been using Delphi for years and years, but in D2007 it seems that very often when I click on a component on a form, the component gets shifted to a different position. Almost like it's trying to realign the component automatically or something. I don't think it's just a sensitive mouse because it never did this in Delphi 7. So is there some sort of "auto align to grid" option that might be enabled somewhere that could be causing this I have messed up a lot of forms because of this and it's starting to get really annoying.
VIEWS ON THIS POST

193

Posted on:

Tuesday 16th October 2012
View Replies!

Source code versioning and components

, I'm using SVN and would like to use branching. One branch for the current stable version that should be maintained (mainly bug fixing) and a development branch where new features are added and major changes are done that go beyond bug fixing. My problem is how to deal with components. I.e. the stable version will use another version of the components (many self-written components) than the development version. But I can only have one version of a component installed at a time. What would be a practical way to work on two different versions of a program using Delphi and considering components are also versioned.
VIEWS ON THIS POST

268

Posted on:

Tuesday 16th October 2012
View Replies!