A combo box, when first created, is always empty. That is, the TComboBox.Create
constructor doesn't put anything in the list. However, you've probably never called that constructor directly. Instead, you use the IDE to place controls on forms, and then those controls appear on your forms at run time. The form adds items to the combo box as it loads the form description out of the form's DFM data.
You might have noticed DFM files in your project directory. The IDE creates those when you design your form with the Form Designer. When you compile your program, those files are linked to you EXE as resources.
If you want to change anything about how your form looks or what data it contains when first loaded, then you need to modify that resource. Windows provides ways of modifying resources, and Delphi provides ways of converting DFM data into and out of the binary format used in resources. Load the resource data, convert it to text, make your modifications, convert it back to binary, and replace the old resource with your new one.
A slight problem is that the OS won't allow modifications to a program that's still running, even if the modifications are initiated by the program itself. That can be worked around, though.
So, although the answer to the question you asked is yes, in the end you're going to find it much easier to simply store your combo-box items just about anywhere else (e.g., an external file, the registry, a database, even the cloud), and then load and add them yourself after you create the form but before you display it to the user. The user will never know the difference.
To run code after the form is loaded but before it's shown, override the form's Loaded
method.