bazzer747
Members-
Content Count
184 -
Joined
-
Last visited
Everything posted by bazzer747
-
Looking for a couple of good "starter" Delphi books
bazzer747 replied to t2000kw's topic in General Help
Why not look at Alistair Christies' web site Welcome to LearnDelphi.tv I found the articles 'Free Content' very useful and the 'Premium' content extremely useful in weaning my way into Delphi. -
Hi I installed the Bookmarks in 10.4 Sydney last night, and this morning when I ran 10.3 (as I haven't ported anything over yet) I'm suddenly getting access violations on ParnassusCoreEditor.dll when Delphi starts, during the session, and when I close. Can't help feeling these events are linked :-). I'll remove Bookmarks from 10.4 and see if the problem disappears with it. Anyone else having this problem?
-
Just recently, I've been getting 'disconnected session' error messages. See attached snapshot of the message. It occurs when I am in debug mode but not when I'm not in debug mode. To 'close' Delphi I have to open Task Manager and end the session from there, I can't get to the application to close it or use it any other way. I've no idea what is causing this, as it isn't consistant - I can operate in debug mode with no issues most of the time, but occasionally have this problem. If anyone can read the details on the error shown and give me a cluse as to where to look I'd appreciate it. I run Delphi 10.2 Enterprise.
-
Hmmm, surprises me it uses a local paserver at all. I'll check this out next time I get the error, but looking in Task Manager now, with Delphi running, there is no paserver in any other processes or services running.
-
My application is for Windows 64 bit. The application starts with Firedac connectivity to a remote SQL Server (not paserver) hosted on an internet provider. Normally the connectivity is good and reliable, and also when I run in non-debug mode the connection is made with no problem. I rebooted my PC this morning and set the initial database connections to an SQL Server on my local PC (rather than the remote server) and I don't get the disconnected session error. As I mentioned I've been getting this issue maybe once or twice a month for quite a while now. Normally I end Delphi with Task Manager and fire it up again and it's OK. Only yesterday it continued to fail.
-
I found Cary Jensen's book very deep and informative, with many examples. Always a go to when I'm not sure about something.
-
OK, limited access to local connections. What possible use is that when developing for clients when most will require access to Server databases. More a 'marketing taster' of what FireDac can do to encourage an upgrade to Enterprise. I'd willingly go for Professional if full FireDac was available rather than sticking with Enterprise 10.3 as I can never see myself being able to justify the extremely costly upgrade to the latest Enterprise versions.
-
As I understand it Firedac is not available in Professional. You need Enterprise for Firedac (or Architect) I've asked many times for Firedac to be available, even at extra cost, to add to Professional and it isn't happening. I moved to Enterprise some years ago on a really good deal (at that time FireDac WAS available in Professional) but find I don't really need all the functionality in Enterprise and because of the cost of keeping at the latest versions I can't afford an upgrade. I'd prefer to go back to Professional but with so many of my projects using Firedac it would be a mighty task to re-write all the data access elements in them. So I'm never going to upgrade until something changes.
-
Hi, I use MSSQL for my database and Firedac as an access method. I have a field called 'AccessLevel' in a table which is now redundant so I'm trying to remove it. I don't use this field anywhere in my project and a search in 'Find in Files' show's that it isn't referenced in any of the code. Also, in the query I use to select all fields from the table it is in I have deleted the field from the Fields Editor. I've renamed the field to 'AccessLevelX' in MSSQL Server (just in case!) When I run the project I get an Exception EDatabseError in module .... Field 'AccessLevel' not found. I can only think there's a reference in the database module where the query exists, but if in the database module I try to 'View as Text' I get a message: 'Module 'nameof module.pas' has open descendants or linked modules. Cannot close'. I'm not sure where I can go now, if someone has a thought as to a 'correct' procedure for removing unwanted/unused fields I'd appreciate some guidance.
-
I've opened the data module outside Delphi in Notepad++ and there's no reference to 'AccessLevel'. So I'm now confused why I'm getting and error message for a field that doesn't exist in the project (that I can find!)
-
Hi I received email from Embarcadero the other day, inviting me to register for the above 2 day session on Dec 20-21. However, when I click the 'Register' button and fill out their registration form, there is no button to submit the details to them. I've tried in Edge and Firefox, same issue. I've tried emailing them to tell them, but no response. Anyone else having this trouble?
-
Same thing happening again. Delphicom 2023. After I press the Submit I get this url at the top: f2 (1×1) (eloqua.com) But a blank screen!
-
No, still no Submit or other button after checking I don't have any ad blockers (disabled other anti-virus extension add-ons whilst trying). Why would a Submit button ever be classified as an Ad anyway? Tried in Chrome as well. Giving up,, I've never had this issue with any Embarcadero registration process before. It's a new design as well, and they've clearly not tested it properly. Sign of the times, I guess.
-
Hi When I use a Firedac TFDConnection I normally rename it from the given (FDConnection1) name to something like 'fdc', I usually rename components to be the same amongst all my projects. However, when I did this on my latest project I cannot use something like: fdc.Connected:= True; I get an 'undeclared identifier: 'Connected'' error when compiling'. I rename it back to 'FDConnection1' and 'FDConnection1.Connected:= True;' compiles fine. Any thoughts as to why this might be?
-
Whichever tells me enough about it's purpose (or the teams, if a team is involved). I often will write copious comments explaining what might be complex code.
-
Hi On the subject of not skimping on names, I see too many code examples where the length of variables are unnecessarily way to long. I always create my variables to as short as possible, making sure they tell me something about what type they are and what they are used for. Makes code easier to read and understand. Most I use are local to the procedure, and any unit wide or global (very few and resisted) are named appropriately.
-
self.fdc.connected works! Got it! The procedure I use for this code is called procedure ConnectLiveTest( fdc: String ); So that is the 'local variable'! I renamed it to procedure ConnectLiveTest( svr: String ); And can now use fdc.connected:= True; as I want to. Thanks for the info.
-
Thanks for that. I've tried the others listed and djxmmx.net is the only one that gives a response.
-
Just trying TIdQOTD and all I get now is Socket Error #10061 Connection refused. Host: alpha.mike-r.com Port: 17 ANy thoughts as to why - maybe this host is no longer available, if so is there another?
-
Hi, I have an application with a main form - fSloggs - with a button that opens another form - fMatchResult - with: fMatchResult.Show; However, this other form pops up immediately after the FormCreate of the fSloggs form and before the FormActivate of the form. The source for the executable looks like this: program PGCSloggs; uses Vcl.Forms, uSlogg in 'uSlogg.pas' {fSloggs}, Vcl.Themes, Vcl.Styles, dm in 'dm.pas' {dm1: TDataModule}, uMatchResult in 'uMatchResult.pas' {fMatchResult}, {$R *.res} begin Application.Initialize; Application.MainFormOnTaskbar := True; Application.CreateForm(Tdm1, dm1); Application.CreateForm(TfSloggs, fSloggs); Application.CreateForm(TfMatchResult, fMatchResult); Application.Run; end. I can't see any reason why the fMatchResult form should pop up without the button being pressed. Also, not sure what the 'Application.MainFormOnTaskBar:= True' is about. Any thoughts would be appreciated.
-
Form 'appears' before it should
bazzer747 replied to bazzer747's topic in RTL and Delphi Object Pascal
HI, Thanks Stano and Haley, you are both right (as was Uwe). I was auto-creating the form at startup. I've shifted it to the right in Project Options so it only gets created when the button is first pressed. The form isn't too big so loading times aren't an issue, but probably good practice. Thanks to all. -
Form 'appears' before it should
bazzer747 replied to bazzer747's topic in RTL and Delphi Object Pascal
Fixed!!! How simple .... How did this get set to visible = true anyway, I wonder. Many thanks ... I'd trawled though the Properties but that never occurred to me. -
Hi, I'm reading in a large file which I'm scraping from a website into a text file and am having a problem with surnames like O'Donnell and O'Brian. The input text for names like these show in the text like 'O'Donnell' - characters O' for the apostrophe. These surnames need to match an existing table of usernames but won't unless I replace O' with an apostrophe. I'm trying this code to do this: if AnsiContainsText( cLast, ''' ) // cLast holds surname 'O'Donnell' then AnsiReplaceStr( cLast, ''', '' ); So replacing ' with and apostrophe. This isn't working. When I debug the first line recognises the characters ' but the second line replaces nothing. Any thoughts on why this isn't working (or a better way to do this would be appreciated.
-
Thank you all. yes, missed that it was a function so this code: if AnsiContainsText( cLast, ''' ) then cLast:= AnsiReplaceStr( cLast, ''', chr(39) ); Now works as expected and returns O'Donovan which is what matches the name in the existing table. (and of course, will manage other similar names). Lars - that was just an empty string there, I just wanted to remove the characters at that stage.
-
if Grd.IndexFieldNames = Column.FieldName then fGrd.IndexFieldNames:= Column.FieldName + ':D' else Grd.IndexFieldNames:= Column.FieldName; end; ..The :D reverses the sort.