Welcome, Guest
You have to register before you can post on our site.

Username
  

Password
  





Search Forums

(Advanced Search)

Forum Statistics
» Members: 83,378
» Latest member: whizzlihaltbran1975
» Forum threads: 2,409
» Forum posts: 11,318

Full Statistics

Online Users
There are currently 467 online users.
» 1 Member(s) | 462 Guest(s)
Applebot, Bing, Google, Yandex, whizzlihaltbran1975

Latest Threads
Image question on tiwjqdb...
Forum: IntraWeb General Discussion
Last Post: alex.trejo@tttnet.com.mx
Yesterday, 12:19 AM
» Replies: 4
» Views: 4,175
TIWjQDBGrid erratic behav...
Forum: IntraWeb General Discussion
Last Post: alex.trejo@tttnet.com.mx
Yesterday, 12:04 AM
» Replies: 4
» Views: 561
CSS file not reloading af...
Forum: IntraWeb General Discussion
Last Post: Gustave
06-30-2026, 09:00 PM
» Replies: 0
» Views: 34
IW 16.2.0 Missing librari...
Forum: IntraWeb General Discussion
Last Post: Gregory_Twedt
06-24-2026, 04:40 AM
» Replies: 5
» Views: 735
VCL conversion
Forum: Delphi General Discussion
Last Post: tobenschain
06-20-2026, 05:00 AM
» Replies: 0
» Views: 114
TIWjQDBGrid changing UI
Forum: IntraWeb General Discussion
Last Post: BoostedCruiser
06-08-2026, 02:02 AM
» Replies: 36
» Views: 70,624
Access Violation When Val...
Forum: IntraWeb General Discussion
Last Post: Alexandre Machado
06-03-2026, 08:47 AM
» Replies: 2
» Views: 559
Bootstrap5
Forum: IntraWeb General Discussion
Last Post: geraldtatum
06-02-2026, 06:24 AM
» Replies: 1
» Views: 449
weakpackageunit contains ...
Forum: IntraWeb General Discussion
Last Post: rlebeau
05-26-2026, 04:56 PM
» Replies: 4
» Views: 620
Custom 404 handler
Forum: IntraWeb General Discussion
Last Post: CfawesDwale
05-21-2026, 08:02 AM
» Replies: 0
» Views: 287

 
  TidSmtpServer hangs on some connections
Posted by: bluewwol - 01-06-2019, 07:50 PM - Forum: Indy - Replies (2)

Hi,

I am hoping for some advice on how to proceed to resolve the following incoming mail issue.

Ordinarily transactions come in like this and are handled perfectly

Code:
70.xxx.xxx.xxx:55906 Stat Connected.
70.xxx.xxx.xxx:55906 Sent 1/6/2019 6:36:45 PM: 220 Welcome to WWOL Server<EOL>
70.xxx.xxx.xxx:55906 Recv 1/6/2019 6:36:45 PM: EHLO mx01.kmtel.com<EOL>
70.xxx.xxx.xxx:55906 Sent 1/6/2019 6:36:45 PM: 250-Hello mx01.kmtel.com<EOL>250-AUTH LOGIN<EOL>250-ENHANCEDSTATUSCODES<EOL>250-PIPELINING<EOL>250-SIZE 0<EOL>250-CHUNKING<EOL>250-8BITMIME<EOL>250 BINARYMIME<EOL>
70.xxx.xxx.xxx:55906 Recv 1/6/2019 6:36:45 PM: MAIL FROM:<MAILER-DAEMON@kmtel.com> SIZE=10078<EOL>
70.xxx.xxx.xxx:55906 Sent 1/6/2019 6:36:45 PM: 250 2.1.0 MAILER-DAEMON@kmtel.com Address Okay<EOL>
70.xxx.xxx.xxx:55906 Recv 1/6/2019 6:36:45 PM: RCPT TO:<info@domain.com><EOL>
70.xxx.xxx.xxx:55906 Sent 1/6/2019 6:36:45 PM: 250 2.1.5 info@domain.com Address Okay<EOL>
70.xxx.xxx.xxx:55906 Recv 1/6/2019 6:36:46 PM: DATA<EOL>
70.xxx.xxx.xxx:55906 Sent 1/6/2019 6:36:46 PM: 354 Start mail input; end with <CRLF>.<CRLF><EOL>
however for some the negotiation looks like this
Code:
52.xxx.xxx.xxx:60351 Stat Connected.
52.xxx.xxx.xxx:60351 Sent 1/6/2019 6:34:44 PM: 220 Welcome to WWOL Server<EOL>
52.xxx.xxx.xxx:60351 Recv 1/6/2019 6:34:44 PM: EHLO NAM01-BY2-obe.outbound.protection.outlook.com<EOL>
52.xxx.xxx.xxx:60351 Sent 1/6/2019 6:34:44 PM: 250-Hello NAM01-BY2-obe.outbound.protection.outlook.com<EOL>250-AUTH LOGIN<EOL>250-ENHANCEDSTATUSCODES<EOL>250-PIPELINING<EOL>250-SIZE 0<EOL>250-CHUNKING<EOL>250-8BITMIME<EOL>250 BINARYMIME<EOL>
52.xxx.xxx.xxx:60351 Recv 1/6/2019 6:34:44 PM: MAIL FROM:<> SIZE=83225<EOL>RCPT TO:<info@domain.com><EOL>
52.xxx.xxx.xxx:60351 Stat Disconnected.
the difference here is the remote server is compounding the mail from and rcpt to transactions into a single transaction and when this happens Indy never responds to the transaction and the thread hangs until it is cleaned up several minutes later.
Unfortunately several domains including the microsoft domains do this and for me this constitutes a very large number of messages.  
I am hoping someone can advise a way to work around this issue.

Thanks for any guidance,
-Allen

I experienced the issue above with PIPELINING set to true.  Changing that to false causes everything to function as expected.  

I guess that answers my question, sorry for the silly question, unless there is something I ought to have done to enable pipeling to function properly.

-Allen

Print this item

  Frame Alignment Issues - IW 15.0.17
Posted by: RichardS - 01-06-2019, 05:48 PM - Forum: IntraWeb General Discussion - Replies (2)

Hi - am trying to build quite a complex web app using multiple frames which are created dynamically as needed.

The problem I'm having is that the first time I create the frames, they don't align where I want - there's a big gap at the top despite the frame with the black border being alTop. It takes a further screen refresh to get them correctly displaying.

[Image: iwbad.png]

After a screen refresh:

[Image: iwgood.png]

I've tried using MainForm.ForceAlign, but it doesn't seem to have helped.

Any ideas welcome, thanks in advance.

Richard

Print this item

  FpGetTimeOfDay gives no timezone
Posted by: jollytall - 01-04-2019, 03:59 PM - Forum: Indy - Replies (6)

I try to use Indy objects for sending e-mail in a Linux system (Debian 9, Lazarus 2.0.0.RC3, Indy 10).
The time of the message received by the recepients is wrong. I debuged what Indy does and it uses FpGetTimeOfDay to format an internet datetime string, e.g. in LocalDateTimeToGMT(), ultimately using OffsetFromUTC. According to the manual of GetTimeOfDay (http://man7.org/linux/man-pages/man2/get...day.2.html) the timezone parameter is obsolate and always returns 0 in Linux. This is indeed what I see.
Is there a workaround known, or shall I try to fix it myself (rewriting OffsetFromUTC in IdGlobal)?
Thanks,

Print this item

  Delphi 10.3
Posted by: Olsonware - 01-04-2019, 02:40 PM - Forum: CrossTalk General Discussion - Replies (1)

I am trying to use CrossTalk in 10.3 however the .NET menu item is not showing up and the sample applications do not compile.

Doug

Print this item

  Random HTTP 500 errors Session not found errors
Posted by: jbkar2 - 01-03-2019, 05:09 AM - Forum: IntraWeb General Discussion - Replies (3)

Hi
 
I am using Intraweb 14.2.8 and one of our clients are having issues with our application. They are getting "This page can't be displayed" at random times when performing an update or action in the Intraweb Application. This error message appears randomly and does not affect all users. the frequency varies during use of the application. Sometime when clicking Fix connection problems, the application page reappears again and if that is not successful they have to restart the application with a new session. The error message "this page can't be displayed" is a friendly message that appears seems to be the default display from IE for HTTP errors greater than 400. Upon inspecting the HTTP traffic, we found many HTTP 500 errors with session not found that correlates with the user reported error timings.
 
A couple of questions I had are:
 1. what would cause these errors apart from a session timeout?
 2. what parameters in IIS or Intraweb could affect this
 3. if this is caused by an application exception, can these be logged into a log file by enabling the ExceptionLogger property in the ServerController and get information such as the stack trace 
 4. can user sessions be logged into a log file?
 
 
Info on the Application:
1. Uses Intraweb 14.2.8
2. Running on IIS 8.5 Windows 2012 Server
3. Multiple websites accessing the same physical dll
4. This particular client has the highest number of users and furthest away from the Web Server

Print this item

  how to set TidByets to Tbyets ?
Posted by: Madammar - 01-02-2019, 08:58 PM - Forum: Indy - Replies (1)

i am using indy udp server component

i want to get its Adata as Tbyets how can i do that ??


To be more clear i need to compress some data using the folllowing unit

and send this data through udp and decompress it when it arrived

alaw data


Code:
unit alaw;

interface
uses Classes, Sysutils;

function Encodeaudio(audio : Tbytes): TBytes;
function Decodeaudio(audio : Tbytes): TBytes;
function linearToALawSample(sample : SmallInt ): Byte;

var
cClip : Integer = 32635;
aLawCompressTable :  array[0..127] of Byte  = ( 1, 1, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7 );

aLawDecompressTable: array[0..255] of Smallint = ( -5504, -5248, -6016, -5760, -4480, -4224, -4992, -4736, -7552, -7296, -8064, -7808, -6528, -6272, -7040, -6784, -2752, -2624, -3008, -2880, -2240, -2112, -2496, -2368, -3776, -3648, -4032, -3904, -3264, -3136, -3520, -3392, -22016, -20992, -24064, -23040, -17920, -16896, -19968, -18944, -30208, -29184, -32256, -31232, -26112, -25088, -28160, -27136, -11008, -10496, -12032, -11520, -8960, -8448, -9984, -9472, -15104, -14592, -16128, -15616, -13056, -12544, -14080, -13568, -344, -328, -376, -360, -280, -264, -312, -296, -472, -456, -504, -488, -408, -392, -440, -424, -88, -72, -120, -104, -24, -8, -56, -40, -216, -200, -248, -232, -152, -136, -184, -168, -1376, -1312, -1504, -1440, -1120, -1056, -1248, -1184, -1888, -1824, -2016, -1952, -1632, -1568, -1760, -1696, -688, -656, -752, -720, -560, -528, -624, -592, -944, -912, -1008, -976, -816, -784, -880, -848, 5504, 5248, 6016, 5760, 4480, 4224, 4992, 4736, 7552, 7296, 8064, 7808, 6528, 6272, 7040, 6784, 2752, 2624, 3008, 2880, 2240, 2112, 2496, 2368, 3776, 3648, 4032, 3904, 3264, 3136, 3520, 3392, 22016, 20992, 24064, 23040, 17920, 16896, 19968, 18944, 30208, 29184, 32256, 31232, 26112, 25088, 28160, 27136, 11008, 10496, 12032, 11520, 8960, 8448, 9984, 9472, 15104, 14592, 16128, 15616, 13056, 12544, 14080, 13568, 344, 328, 376, 360, 280, 264, 312, 296, 472, 456, 504, 488, 408, 392, 440, 424, 88, 72, 120, 104, 24, 8, 56, 40, 216, 200, 248, 232, 152, 136, 184, 168, 1376, 1312, 1504, 1440, 1120, 1056, 1248, 1184, 1888, 1824, 2016, 1952, 1632, 1568, 1760, 1696, 688, 656, 752, 720, 560, 528, 624, 592, 944, 912, 1008, 976, 816, 784, 880, 848 );


implementation

function Encodeaudio(audio : Tbytes) : TBytes;
var
alength : Integer;
offset : Integer;
count : Integer;
sample : smallint;
byte1 : smallint;
byte2 : smallint;
encoded : TBytes;
i : integer;

begin
offset := 0;
sample := 0;

alength := Length(audio);
count := alength div 2;
SetLength(encoded, count);

for i  := 0 to count -1 do
begin
byte1 := audio[offset] And $FF;
offset := offset + 1;
byte2 := audio[offset] shl 8;
offset := offset + 1;
sample := byte1 Or byte2;
encoded[i] := linearToALawSample(sample)

end;


result := encoded;

end;

function linearToALawSample(sample : SmallInt ) : Byte;
var
sign : integer;
exponent : integer;
mantissa : integer;
s : integer;
begin

sign := ((Not sample) shr 8) And $80;

If (sign <> $80)  Then
begin
sample := Not sample;
end;

If ( sample > cClip ) Then
begin
sample := cClip;
end;


If ( sample >= 256 ) Then
begin

exponent := aLawCompressTable[(sample shr 8) And $7F];
mantissa := (sample shr (exponent + 3)) And $0F;
s := (exponent shl 4) Or mantissa;

end else
begin
s := (sample shl 4)
end;

s := (sign Xor $55) Xor s;

Result := s;

end;


function Decodeaudio(audio : Tbytes) : TBytes;
var
alength : integer;
offset :  integer;
i :  integer;
s : smallint;
decoded : TBytes;
begin
alength := Length(audio);
SetLength(decoded, alength * 2);
offset := 0;
for i := 0 to alength -1 do
begin
s := aLawDecompressTable[audio[i] And $FF];
decoded[offset] := s;
offset := offset + 1;
decoded[offset] := s shr 8;
offset := offset + 1;
end;
result := decoded;



end;

end.



Data that i try to send



Code:
procedure Taudiofrm.recorderData(Sender: TObject; const Buffer: Pointer;
 BufferSize: Cardinal; var FreeIt: Boolean);
var
Bytes: TIdBytes;
begin


if (Buffer <> nil) and (BufferSize > 0) And (udpreciver.Active) then
begin
udpreciver.SendBuffer(ip, port, RawToBytes(Buffer^, Buffersize));
end;

end;



data i try to receive


Code:
procedure Taudiofrm.udpreciverUDPRead(AThread: TIdUDPListenerThread;
 const AData: TIdBytes; ABinding: TIdSocketHandle);
var
AudioDataSize: Integer;
begin
AudioDataSize := Length(AData);

if (AudioDataSize > 10) then
begin
if BlockAlign > 1 then
Dec(AudioDataSize, AudioDataSize mod BlockAlign);

TThread.Queue(nil,
procedure
var
AudioData : Pointer;
begin
try
if not Player.Active then
begin
Player.Active := True;
Player.WaitForStart;
end;
except
end;

AudioData := AudioBuffer.BeginUpdate(AudioDataSize);
try
BytesToRaw(AData, AudioData^, AudioDataSize);
finally
AudioBuffer.EndUpdate;
end;
end);
end else
begin
TThread.Queue(nil,
procedure
begin
Player.Active := False;
Player.WaitForStop;
end
);
end;
end;


i am not actually sure how do i get the correct data using Tidbyets

Print this item

  App Crash with IWDBGrid and bootstrap
Posted by: bob9999 - 12-31-2018, 05:09 PM - Forum: IntraWeb General Discussion - Replies (5)

I have been butting my head against a wall for a couple of days so I thought I would post my issue here in hopes someone else has run into this.  I have latest Delphi 10.2 and Intraweb 15 installed with the bootstrap components from IW.   I have a number of forms in my application but the issue is the one with the interactive DB Grid.  All was working fine until I added in the resource maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css and other supporting libraries.  All a sudden, my grid lost its title centering and padding which I solved with custom CSS.  

I am using bootstrap for a star rating plugin that I display in the grid to show the rating of a particular customer entity.  I have a number of filters in combo boxes on the screen that I have click events for all a SQL Sever sproc that feeds in the value selected to then return the result set that is fed into the grid.  The starting point is no data and the user has to choose at least one filter to start seeing data.

So here is the weird stuff.  When the form first loads, I can select a filter and the first set of data loads perfectly.  I try to select the second filter and WHAM the application crashes with access to an unknown memory location (Access violation at address 000000000040E045 in module 'OwnerBuilder.exe'. Read of address FFFFFFFFFFFFFFFF).  If I try to refresh the browser I also receive the crash.  So any time there is a data refresh and the DBGrid tries to render again, this is where I receive my crash.

I changed the filters to async clicks and then I go to another form with a button click that displays the details for that customer and the data is totally fine under the hood and when I return to the main form with TfMainForm.Create(WebApplication).Show, the grid is rendered fine with the latest filter change I had completed. So the issue is when the grid is attempting to render when the dataset has changed when I get the crash.  So the workaround is to set the filter(s) async and then go to another form and return and all is well which of course is no good for production use and is just for testing to isolate the issue.

To add clarity, I only am using the bootstrap for the graphic star display inside the grid using a CSS class off that specific control in that 1 cell.  The grid is 100% native IWDBGrid component.

If anyone has any ideas or comments I would be very appreciative.

Cheers.
bob

Print this item

  IW17 + Bootstrap 4
Posted by: ShaneStump - 12-28-2018, 02:00 PM - Forum: IntraWeb General Discussion - Replies (5)

Howdy IW Team!

Sorry to keep bringing this up every few months, but the owner of my software keep asking me for our 2019/2020 roadmap!

Is bootstrap 4 or another layout manager going to be provided in IW 17 for responsive development? 

I have tried to keep up with the IW 17 blog/channel, but most of the demos coming out of it don't seem to show me how I am going to keep competitive with my competitors on the web at this moment.

Happy New Year and looking forward to your response!

Shane

Print this item

  Error reading form : "IWServerController"
Posted by: raulbenitez - 12-27-2018, 12:45 PM - Forum: IntraWeb General Discussion - Replies (8)

I have the follow problem:

- I have RAD 10.2.3.
- I uninstall INTRAWEB.
- I Download and I Used the remove tools.
- I Download the INTRAWEB 14.
- I Install INTRAWEB 14.

I created a INTRAWEB PROJECT and made some change to test.
When i close my rad and open it again, and try to open my INTRAWEB PROJECT, i have a lots of errors.

Error reading form "IWServerController", and my form lost a properties.
   - Appname.
   - Descripcion.
   - DisplayName.
   - Port.
   - Etc.

The form lost all properties for a INTRAWEB project.

- I think that is a problems for this instalation.
- I used a notebook wihout developer software.
- I install RAD 10.2.3. WHITOUT intaweb packetg.
- I install INTRAWEB 14.

And i have de same result.


I have a complete project in intraweb, if i used the RAD 10.2.3 intraweb packetg, I DON'T HAVE PROBLEMS, but my port of connection change and only use from my localhost.
If i use then INTRAWEB 14, may be i can do some changes i my project and build it, and i can use a fixed port and i can use then project from others computers of my lan.
But after any time, wihout error message of the rad, i try to compiler o build then project and the error
Error reading form : "IWServerController" began and NOT DISAPEAR.

If i uninstall ALL RAD AND INTRAWEB, and install again, i can use for a few times, but ever have the same problem.

Can help my, because i develo a completed proyect and i left to the end the problems of fixed port and access from other computers because i thinked the solution was only change the version, but with intraweb 14 i have and unstable tool.

Print this item

  Dealing with binaries and text in TIdHTTP
Posted by: thijsvandien - 12-17-2018, 05:49 PM - Forum: Indy - Replies (6)

For context, I'm trying to create a simple abstraction over TIdHTP. So far I have something along these lines:

Code:
type
 THTTPRequest = record
   Method: (
     hmGET
     hmPOST,
     hmPUT
   );
   URL: string;
   ContentType: string;
   Body: string;
 end;

 THTTPResponse = record
   StatusCode: SmallInt;
   Body: string;
 end;

 THTTPClient = class
  public
    function Perform(const ARequest: THTTPRequest): THTTPResponse; virtual; abstract;
  end;

 TIndyHTTPClient = class(THTTPClient)
 public
   function Perform(const ARequest: THTTPRequest): THTTPResponse; override;
 end;

function TIndyHTTPClient.Perform(const ARequest: THTTPRequest): THTTPResponse;
var
 LClient: TIdHTTP;
 LRequestBodyStream: TStringStream;
begin
 Result := Default(THTTPResponse);
 LRequestBodyStream := TStringStream.Create(ARequest.Body);
 try
   LClient := TIdHTTP.Create(nil);
   try
     LClient.HandleRedirects := True;
     LClient.HTTPOptions := LClient.HTTPOptions + [hoNoProtocolErrorException];
     LClient.Request.ContentType := ARequest.ContentType;
     case ARequest.Method of
       hmGET:
         Result.Body := LClient.Get(ARequest.URL);
       hmPUT:
         Result.Body := LClient.Put(ARequest.URL, LRequestBodyStream);
       hmPOST:
         Result.Body := LClient.Post(ARequest.URL, LRequestBodyStream);
     end;
     Result.StatusCode := LClient.ResponseCode;
   finally
     LClient.Free;
   end;
 finally
   LRequestBodyStream.Free;
 end;
end;

The issue is that not all requests and responses will be text based. I'd like to keep the interface as uniform as possible. Although filling the Body of a THTTPRequest with TBytes converted by StringOf did not result in any instantly noticeable problem, it does worry me that unwanted conversions may happen that corrupt the data. Conversely, I'm not sure if BytesOf on the Body of a THTTPResponse will give me the binary response (in case of files) exactly as it was sent. I could switch to always using TBytes for both, but then I lose all encoding/decoding intelligence that Indy has.

What is the cleanest solution (i.e. smallest number of fields/types) that will work?

Print this item