Hi,
I've got a few functions defined with 'const' string parameters. When I tried to pass a large string, I got the following error message. Why is that? I thought string type can hold as much as the memory you have in your system. I am using the following compiler mode in all my units: {$mode objfpc}{$H+}
------------------------------
filedialog.lpr(142,56) Error: Constant strings can't be longer than 255 chars filedialog.lpr(260) Fatal: There were 1 errors compiling module, stopping ------------------------------
Here is the methods I defined... It's the AText parameter that I'm trying to pass large text 500-1000 characters.
class function Critical(const ATitle: string; const AText: string;
AButtons: TfpgMsgDlgButtons = [mbOK]; ADefaultButton: TfpgMsgDlgBtn =
mbNoButton): TfpgMsgDlgBtn;
class function Information(const ATitle: string; const AText:
string; AButtons: TfpgMsgDlgButtons = [mbOK]; ADefaultButton:
TfpgMsgDlgBtn = mbNoButton): TfpgMsgDlgBtn;
class function Question(const ATitle: string; const AText: string;
AButtons: TfpgMsgDlgButtons = [mbYes, mbNo]; ADefaultButton:
TfpgMsgDlgBtn = mbNo): TfpgMsgDlgBtn;
class function Warning(const ATitle: string; const AText: string;
AButtons: TfpgMsgDlgButtons = [mbOK]; ADefaultButton: TfpgMsgDlgBtn =
mbNoButton): TfpgMsgDlgBtn;And this is how I normally call those functions... The examples below work, but if AText contained more than 255 characters, it doesn't compile. I really don't see the problem? Is the only way around this problem, by first defining a local variable of type String and then passing the variable? Not that I can see a difference between that and what I'm trying to do!
TfpgMessageDialog.Information('Some Information...', 'And this is
where the text goes.', [mbOK], mbNoButton);
TfpgMessageDialog.Question('Some Question...', 'Did everything work
okay?', mbYesNo, mbNoButton);Regards,
- Graeme -
_______________________________________________
fpGUI - a cross-platform Free Pascal GUI toolkit
http://opensoft.homeip.net/fpgui/
