Jump to content

Lajos Juhász

Members
  • Content Count

    1099
  • Joined

  • Last visited

  • Days Won

    15

Everything posted by Lajos Juhász

  1. Lajos Juhász

    Install of RAD Studio, C++Builder 11.1.5

    Here it is: https://blogs.embarcadero.com/available-today-the-cbuilder-and-rad-studio-11-1-5-c-code-insight-update/ The relevant part is: Being tightly focused on C++, the 11.1.5 C++ Code Insight Update has no benefit for Delphi customers and we do not recommend Delphi customers to install it. Other than the C++ Code Insight changes, 11.1.5 is identical in features to 11.1. RAD Studio 11.1.5 is a full installation, and includes all hotfixes issued for 11.1.
  2. Lajos Juhász

    .gitignore file for Embarcadero C++

    I know that this will not help, but Delphi has only __history and __recovery folders by default. I don't see any _astcache. From the name it should be some kind of cache folder and should not be in the git repository.
  3. Lajos Juhász

    Saving records

    As far as I remember this should be i:=0; SetLength(CompanyDataBase, FileSize(f)) while not eof(f) do begin Read(f, CompanyDataBase); inc(i); end; Last time I wrote a code like this was in Pascal. (Btw. to be on the safe side you should also define the record as packed).
  4. Lajos Juhász

    virtualimagelist1 cannot be loaded dynamically

    Check out the AutoFill property of the VirtualImageList. It should be true in order to load all the images from the image collection.
  5. You can compress the file before sending. Should give you the best result.
  6. Lajos Juhász

    iPhoneOS15.X.sdk

    As far as I understood XCode is needed to sign the application (I don't touch those things as I develop only for Windows and just read about other platforms in case I must do some work on them).
  7. Lajos Juhász

    Windows XP App

    https://docs.microsoft.com/en-us/windows/win32/api/setupapi/nf-setupapi-setupdigetdevicepropertyw Minimum supported client Available in Windows Vista and later versions of Windows.
  8. It's by design. Delphi form and VCL should be used only in the main thread.
  9. Lajos Juhász

    FireDAC open error

    In this code snippet you don't have how you set up the connection and that's the error you got. My guess is that in your code somewhere the connection's ConnectionDefName property is set to C:\Prog2\employee.fdb instead of EMPLOYEE.
  10. Wait for the next Delphi release and try to use custom title bar. Unfortunately, in D11.1 custom title bar have bugs that should be addressed before it can be used.
  11. Lajos Juhász

    MMX and (Parnassus) BookMarks

    Especially true for roadmap and release plan. Like we don't have to plan our releases based on new versions of the Delphi (that can ship bug fixes).
  12. Lajos Juhász

    panel

    You can have it on Windows 8 or newer. In the CreateWindowHandle method set the WS_EX_LAYERED window style and use https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-setlayeredwindowattributes.
  13. Lajos Juhász

    MessageBox is hidden by a modal form

    Not with a new empty application and two forms.
  14. Lajos Juhász

    MessageBox is hidden by a modal form

    Yesterday with a Delphi 11 application I had a situation when a modal formed showed normally on top of the main form. Opened another application and when moved back to the first application the modal form was behind the main windows. It was not possible to move the modal form forward. When before calling showmodal set the popupparent to be the main form the application behaved as should.
  15. The exact same is with Delphi 11. Tested with: procedure TForm1.FormCreate(Sender: TObject); var f: pointer; begin f:=0; end; [dcc32 Warning] Unit1.pas(29): W1013 Constant 0 converted to NIL Here is what helps says about this warning: The Delphi compiler now allows the constant 0 to be used in pointer expressions in place of NIL. This change was made to allow older code to still compile with changes which were made in the low-level RTL. program Produce; procedure p0(p : Pointer); begin end; begin p0(0); end. In this example, the procedure p0 is declared to take a Pointer parameter yet the constant 0 is passed. The compiler will perform the necessary conversions internally, changing 0 into NIL, so that the code will function properly. program Solve; procedure p0(p : Pointer); begin end; begin p0(NIL); end. There are two approaches to solving this problem. In the case above the constant 0 has been replaced with NIL. Alternatively the procedure definition could be changed so that the parameter type is of Integer type.
  16. Lajos Juhász

    FDquery LoadfromFile

    After you save the data to the file. Someone can edit the file or the original data in the database, thus the program should figure out how to merge back the data.
  17. In this case we were discussing object vs interfaces. If those were interface references it would be a bit different outcome.
  18. My first suggestion was and still is to learn how to write a correct code. Interface is much better than constantly using FreeAndNil as band-aid solution. For example free and nil will not save you here: var x1, x2: TMyClass; begin x1:=TMyclass.create; ..... x2:=x1; ...... FreeAndNil(x1); x2.SaveTheWorldAndMakeItABetterPlace; end; Here maybe you will think you have an excellent code as there is FreeAndNil, however that will not help and x2 is still a stale reference.
  19. No, you missed the part that you have only to learn how to manage objects. Using FreeAndNil you solve nothing. If you're unsure how to write quality code I suggest use always interfaces.
  20. This was my first suggestion as that is the way that always works.
  21. var a:TThing; begin a:=nil;//counter warning (I) try if //only in some cases begin a:=TThing.Create; //... end; //... if a<>nil then begin //use a for something end; //... finally if a<>nil then (II) begin a.Free; a:=nil; end; end; end; (I) Wrong comment. a is a local variable and doesn't have to be nil. Thus the nil is required to signal that there is no object assigned to variable a. (II) In this code a is nil or a valid reference thus it's not required to check if it's nil that will be done in the free method. In the next line it's not required to assign nil to a. A is a local variable and finally after the finally it will go out of scope.
  22. Delphi help: https://docwiki.embarcadero.com/Libraries/Sydney/en/Vcl.ImageCollection.TImageCollection.Add
  23. I never saw this kind of code, I saw: if Assigned(obj) then obj.free; Most of the time I only saw that a "developer" refuses to use free instead of FreeAndNil.
  24. My guess is that they'll try to proove that you can use free instead of freeandnil. Often you can find code: var X: TMyImportantForm; begin x:=TMyImportantForm.create(self); try ... some boring code .... finally FreeAndNil(x); end; end;
  25. Why not? Until it's removed from the language this topic will remain important. Unfortunately I believe even if it will be eventually removed everyone will create a private copy and continue to use that as an "important tool".
×