02-10-2020, 06:42 AM
(02-09-2020, 10:31 PM)SorenJensen Wrote: Hi mrSpock,Certainly intraweb manual should have described in detail how to set multiuser independent database connection. So far I am not using a database but I will and may encounter the same problem.
I'm happy your problem is solved, and that it seemed so easy.
but I'm also a bit confused and unsure about it all. Could you please post a small example code, showing the difference between the two settings ?
Regards
Soren
As I did need to use the form code in other units, eventually I did not move the code to UserSession unit, so I made less disorder it the code. Moving the code to UserSession unit should be done only if there is no other way to share the code among units.
Before changes form class
Code:
TIWForm7 = class(TIWAppForm)
stronaGłównaLink: TIWLink;
IWImage1: TIWImage;
IWFileUploader1: TIWFileUploader;
akceptujButton: TIWButton;
ktoryEtapLabel: TIWLabel;
anulujButton: TIWButton;
IWLabel1: TIWLabel;
IWLabel4: TIWLabel;
szerLabel: TIWLabel;
procedure stronaGłównaLinkClick(Sender: TObject);
procedure IWFileUploader1AsyncUploadCompleted(Sender: TObject; var DestPath,
FileName: string; var SaveFile, Overwrite: Boolean);
procedure IWAppFormCreate(Sender: TObject);
procedure IWAppFormDestroy(Sender: TObject);
procedure IWFileUploader1AsyncUploadError(Sender: TObject;
EventParams: TStringList);
procedure IWFileUploader1AsyncUploadSuccess(Sender: TObject;
EventParams: TStringList);
procedure IWImage1AsyncClick(Sender: TObject; EventParams: TStringList);
procedure akceptujButtonClick(Sender: TObject);
procedure anulujButtonClick(Sender: TObject);
public
end;
Before changes unit implementation part
Code:
implementation
var
nazwaPlikuWysłanego, CurDir: string;
s32,d32: Tbitmap32;
m,d, bufor: Tbitmap;
pic: Tpicture;
momentWyboru: (wyświetl, przedPierwszymPunktem, przedDrugimPunktem);
cropLTx, cropLTy, cropRBx, cropRBy: Integer;
B: double;
Before changes unit implementation part functions and procedures header example
Code:
function X_od_Y(y: integer): integer;
begin
result:= round((y-B)/A)
end;
after changes form class
Code:
TIWForm7 = class(TIWAppForm)
stronaGłównaLink: TIWLink;
IWImage1: TIWImage;
IWFileUploader1: TIWFileUploader;
akceptujButton: TIWButton;
ktoryEtapLabel: TIWLabel;
anulujButton: TIWButton;
IWLabel1: TIWLabel;
IWLabel4: TIWLabel;
szerLabel: TIWLabel;
procedure stronaGłównaLinkClick(Sender: TObject);
procedure IWFileUploader1AsyncUploadCompleted(Sender: TObject; var DestPath,
FileName: string; var SaveFile, Overwrite: Boolean);
procedure IWAppFormCreate(Sender: TObject);
procedure IWAppFormDestroy(Sender: TObject);
procedure IWFileUploader1AsyncUploadError(Sender: TObject;
EventParams: TStringList);
procedure IWFileUploader1AsyncUploadSuccess(Sender: TObject;
EventParams: TStringList);
procedure IWImage1AsyncClick(Sender: TObject; EventParams: TStringList);
procedure akceptujButtonClick(Sender: TObject);
procedure anulujButtonClick(Sender: TObject);
public
nazwaPlikuWysłanego, CurDir: string;
s32,d32: Tbitmap32;
m,d, bufor: Tbitmap;
pic: Tpicture;
momentWyboru: (wyświetl, przedPierwszymPunktem, przedDrugimPunktem);
cropLTx, cropLTy, cropRBx, cropRBy: Integer;
B: double;
function Y_od_X(x: integer): integer;
function X_od_Y(y: integer): integer;
function połączBitmapy(bmp1,bmp2: Tbitmap; procent: integer): TBitmap;
function Randomstring(strLen: Integer): string;
procedure transformacja(sourceBMP, destBMP: TBitmap32; SxTL,SyTL,SxBR,SyBR,
Dx0,Dy0,Dx1,Dy1,Dx2,Dy2,Dx3,Dy3: Integer);
procedure CropBitmap(InBitmap : TBitmap; XLT, YLT, szer, wys :Integer);
end;
After changes unit implementation part does not contain any variables placed in var section. Certainly one should not use var section in the unit interface part either.
After changes a sample function header. "A" is a constant.
Code:
function TIWForm7.Y_od_X(x: integer): integer;
begin
result:= round(A*x+B)
end;