Recent

Author Topic: Fatal: Internal error 200305108  (Read 7880 times)

Joanna

  • Hero Member
  • *****
  • Posts: 1461
Re: Fatal: Internal error 200305108
« Reply #30 on: February 15, 2024, 12:42:21 pm »
Thanks paule32
I usually do all my building through the Lazarus ide .

Thaddy

  • Hero Member
  • *****
  • Posts: 19407
  • Glad to be alive.
Re: Fatal: Internal error 200305108
« Reply #31 on: February 15, 2024, 12:42:51 pm »
The equivalent in Windows for rm -rf  is del /F /S /Q <directory name>.
No need for msys. Warning is the same: be careful.
This recurses any subdirectories, delete also readonly files and does so quietly.
Deletion is permanent, not to the recycle bin.
« Last Edit: February 15, 2024, 05:50:14 pm by Thaddy »
Any "programmer" that knows only one programming language is not a programmer

paule32

  • Hero Member
  • *****
  • Posts: 646
  • One in all. But, not all in one.
Re: Fatal: Internal error 200305108
« Reply #32 on: February 15, 2024, 04:11:55 pm »
@Joanna:
I do a dual way:
- all my Forms stuff (If I need some) I make with an IDE (in some cases not the perfect Solution !)
- all my Logic to the Application, I do with notepad++ - a Windows TextEditor with Syntax Highlight
- all my Styling I put external to the Application (View-Design, Locales, and some other CSS)
- all my Documentation, I do mostly within the source code, and run doxygen over (C/C++ -> CHM)

- for Documentation, I use Tools like doxygen, HelpNDoc, and/or RoboHelp (and hard coding)
- for all my (new) Data, I use github.com for backup, and versioning, and release dists.

- I don't claim money for nothing, but if the User, and/or Developer honor my work, He/She/It can left a postcard, a cola, or 5 Dollars for a beer, cafe, and bread for the day - Developer needs food and drinks, too ... you know  ;)

What I mean to say:
- sometimes, it is better to hard code (if you don't need Quick&Dirty Applications)
- sometimes, it is better to use Quick&Dirty Tools, to create Prototypes, and Alphaversion's (where Code-Size does not matter - in context of Debug, too)

But:
- All of this is a view of the Programmer - each of them have different skills from the other, some have the same core skills. And then it is a good practice, to follow new concepts and/good guide lines.
Don't afraid from old concepts like in Common LISP channels.
CLISP has it's own History, and the peoples behind make a big wall before they doors, to save the nature of LISP.
You have to understand both/three Points:
- the History
- the Peoples
- the Technologies from Yesterday and the Flair with it - I point you to Commodore AMIGA 500, or C-64.
MS-IIS - Internet Information Server, Apache, PHP/HTML/CSS, MinGW-32/64 MSys2 GNU C/C++ 13 (-stdc++20), FPC 3.2.2
A Friend in need, is a Friend indeed.

paule32

  • Hero Member
  • *****
  • Posts: 646
  • One in all. But, not all in one.
Re: Fatal: Internal error 200305108
« Reply #33 on: February 16, 2024, 02:04:00 pm »
new Problem with same Fatal Message:
in Line: 26 - after .Create;
Code: Pascal  [Select][+][-]
  1. {$mode delphi}
  2. unit objpas;
  3.  
  4. interface
  5.  
  6. type
  7.   TObject = class
  8.   public
  9.     constructor Create;
  10.     destructor Destory;
  11.   end;
  12.  
  13. implementation
  14.  
  15. constructor TObject.Create;
  16. begin
  17. end;
  18.  
  19. destructor TObject.Desrroy;
  20. begin
  21. end;
  22.  
  23. end.
  24.  
MS-IIS - Internet Information Server, Apache, PHP/HTML/CSS, MinGW-32/64 MSys2 GNU C/C++ 13 (-stdc++20), FPC 3.2.2
A Friend in need, is a Friend indeed.

bytebites

  • Hero Member
  • *****
  • Posts: 792
Re: Fatal: Internal error 200305108
« Reply #34 on: February 16, 2024, 02:48:21 pm »
Destory
Desrroy

TRon

  • Hero Member
  • *****
  • Posts: 4377
Re: Fatal: Internal error 200305108
« Reply #35 on: February 16, 2024, 02:50:09 pm »
Still in search of line 26... *lifts up monitor in order to look underneath*
Today is tomorrow's yesterday.

paule32

  • Hero Member
  • *****
  • Posts: 646
  • One in all. But, not all in one.
Re: Fatal: Internal error 200305108
« Reply #36 on: February 16, 2024, 03:22:06 pm »
haha, no...
The Source code:
Code: Pascal  [Select][+][-]
  1. // -----------------------------------------------------------------
  2. // File:   objpas.pas
  3. // Author: (c) 2024 Jens Kallup - paule32
  4. // All rights reserved
  5. //
  6. // only for education, and non-profit usage !
  7. // -----------------------------------------------------------------
  8. {$mode delphi}
  9. unit objpas;
  10.  
  11. interface
  12.  
  13. type
  14.   TObject = class
  15.   public
  16.     constructor Create;
  17.     destructor Destory;
  18.   end;
  19.  
  20. implementation
  21.  
  22. constructor TObject.Create;
  23. begin
  24.  
  25. end;
  26.  
  27. destructor TObject.Destroy;
  28. begin
  29. end;
  30.  
  31. end.
  32.  
The Output:
Code: [Select]
E:\Projekte\fpc-qt\src\sources\fpc-sys>C:\lazarus\x86_64\fpc\3.2.2\bin\x86_64-win64\fpc.exe -Twin64 -Mdelphi -dwindows -dwin64 -O2 -Os -vl -Anasmwin64 -al -FE..\..\units\fpc-sys     objpas.pas
Free Pascal Compiler version 3.2.2 [2022/09/24] for x86_64
Copyright (c) 1993-2021 by Florian Klaempfl and others
Target OS: Win64 for x64
Compiling objpas.pas
2 197/1.280 Kb Used
objpas.pas(23,1) Fatal: Internal error 200305108
Fatal: Compilation aborted
Error: C:\lazarus\x86_64\fpc\3.2.2\bin\x86_64-win64\ppcx64.exe returned an error exitcode
MS-IIS - Internet Information Server, Apache, PHP/HTML/CSS, MinGW-32/64 MSys2 GNU C/C++ 13 (-stdc++20), FPC 3.2.2
A Friend in need, is a Friend indeed.

bytebites

  • Hero Member
  • *****
  • Posts: 792
Re: Fatal: Internal error 200305108
« Reply #37 on: February 16, 2024, 03:57:02 pm »
Still Destory.

Thaddy

  • Hero Member
  • *****
  • Posts: 19407
  • Glad to be alive.
Re: Fatal: Internal error 200305108
« Reply #38 on: February 16, 2024, 04:55:28 pm »
make destory history (and make destroy virtual)

Also note that the declaration Tobject = class really means Tobject = class (Tobject) so I am not really surprised it gives an internal error, destory  or not...
You can only fix that if your own system.pp is fixed and mature enough.
By now you should know TObject is declared in system. not in objpas.
https://www.freepascal.org/docs-html/rtl/system/index-4.html
Note you have to provide for all these classes in system if you try to write your own rtl and your own objpas.

At the moment your knowledge of the internals makes your project doomed to fail, but it CAN be done. Just start with system. Don't give up.
Like PascalDragon wrote: Pascal is not C. You can't ignore the compiler internals.
« Last Edit: February 16, 2024, 05:34:53 pm by Thaddy »
Any "programmer" that knows only one programming language is not a programmer

paule32

  • Hero Member
  • *****
  • Posts: 646
  • One in all. But, not all in one.
Re: Fatal: Internal error 200305108
« Reply #39 on: February 16, 2024, 08:48:44 pm »
It does not work !
Fact is, that the Compiler Fails after:
Code: Pascal  [Select][+][-]
  1. constructor TObject.Create;
  2. begin   <--- this line fails
  3.  
  4. end;

I tried to outsource it, but always the same Fatal.
MS-IIS - Internet Information Server, Apache, PHP/HTML/CSS, MinGW-32/64 MSys2 GNU C/C++ 13 (-stdc++20), FPC 3.2.2
A Friend in need, is a Friend indeed.

Thaddy

  • Hero Member
  • *****
  • Posts: 19407
  • Glad to be alive.
Re: Fatal: Internal error 200305108
« Reply #40 on: February 16, 2024, 08:57:06 pm »
Of course it fails: Tobject = class (Tobject), which is really the same as Tobject = class.
Are you stubborn? What does the above line mean? It is recursive...
<sigh, i give up  >:D >
What you can do is this, no guaranty: TObject = system.Tobject;
But I wonder if that holds....
Examine your eyes.  >:D

The above means objpas.TObject is aliased to system.TObject and I am sure you do not want that.
Simply write your own system first.

What is worse, if your stated your intentions first, you would have got proper answers sooner.
You are a Dane, Danes can write compilers in their sleep.... :)
« Last Edit: February 16, 2024, 09:13:18 pm by Thaddy »
Any "programmer" that knows only one programming language is not a programmer

paule32

  • Hero Member
  • *****
  • Posts: 646
  • One in all. But, not all in one.
Re: Fatal: Internal error 200305108
« Reply #41 on: February 16, 2024, 09:27:13 pm »
my fail, sorry - I explain:

here:  https://www.freepascal.org/docs-html/rtl/system/tobject.html
I can see the structure of TObject.
Under "Declaration" Text, I can see: Source position: objpash.inc line 201

When I follow the Source Position, I landed at objpash.inc in ./source/rtl/inc
And voila: You can see:
https://github.com/ultibohub/FPC/blob/3a6be9bc116ee0b22011b6a7234a78b455df2e15/source/rtl/inc/objpash.inc#L192

This Class - also TObject, I down write into my custom system.pas.
I can not compile the Compiler.

I guess, that TObject bite it's own through a Stack-Loop (and overflow):
Code: Pascal  [Select][+][-]
  1. TObject = class
  2. end;

But, when TObject is hard coded (I thinking in the binary compiler of fpc), how can I create a custom TObject class ?
Like I said - nearly all DSL can be compiled by itself...
Why should it not possible with FPC ?

It comes in my mind, that something voodoo programming is starting out on my side... ???
How can I say class TObject, not to use class TObject as Parent class ?

Where is the Trick rested ?

For this problem, you can take a look to my github.com account:
https://github.com/paule32/Qt_FPC/blob/9ebca9290c99582b8d9bbc02181176e80deb3e5e/src/sources/fpc-sys/system.pas#L272
« Last Edit: February 16, 2024, 09:30:16 pm by paule32 »
MS-IIS - Internet Information Server, Apache, PHP/HTML/CSS, MinGW-32/64 MSys2 GNU C/C++ 13 (-stdc++20), FPC 3.2.2
A Friend in need, is a Friend indeed.

Thaddy

  • Hero Member
  • *****
  • Posts: 19407
  • Glad to be alive.
Re: Fatal: Internal error 200305108
« Reply #42 on: February 16, 2024, 09:33:06 pm »
How can I say class TObject, not to use class TObject as Parent class ?
Where is the Trick rested ?
Remove Tobject from your own system and move the code you need to objpas,
Be careful: all this is not easy. I once wrote a new system unit for D4 and it took me almost a year. The system unit of FreePascal is way more complex than Delphi's.
(This ended up back-porting Vladimir Kladov's D5 - partially mine - solution and merged my D4 specifics, so basically success but a fail from my side, but that system unit works and still works. I blame it on the release cycle of Borland being too fast  :D)

In your case: fix system first!

Note that everything you want can be done by using old school object instead of class: object is completely empty and allows you to do what you want. That is how our KOL is built.
« Last Edit: February 16, 2024, 09:53:30 pm by Thaddy »
Any "programmer" that knows only one programming language is not a programmer

Thaddy

  • Hero Member
  • *****
  • Posts: 19407
  • Glad to be alive.
Re: Fatal: Internal error 200305108
« Reply #43 on: February 16, 2024, 10:03:21 pm »
example
Code: Pascal  [Select][+][-]
  1. {$mode delphi}
  2. unit objpas2;
  3.  
  4. interface
  5.  
  6. type
  7.   TObject = object  // old school object, not class
  8.   public
  9.     constructor Create;
  10.     destructor Destroy;
  11.   end;
  12.  
  13. implementation
  14.  
  15. constructor TObject.Create;
  16. begin
  17. end;
  18.  
  19. destructor TObject.Destroy;
  20. begin
  21. end;
  22.  
  23. end.
But it comes with high responsibilities by the programmer....
This is basically how KOL works, but we implemented a hell of a lot more.
 
« Last Edit: February 16, 2024, 10:07:07 pm by Thaddy »
Any "programmer" that knows only one programming language is not a programmer

paule32

  • Hero Member
  • *****
  • Posts: 646
  • One in all. But, not all in one.
Re: Fatal: Internal error 200305108
« Reply #44 on: February 17, 2024, 10:51:53 am »
Hello, and good morning...

@Thaddy:
when I do so, then I get in touch with trouble:
Code: Pascal  [Select][+][-]
  1. type
  2.   QObject = object(TObject)

The Compiler output more Error Messages:

Code: [Select]
E:\Projekte\fpc-qt\src\sources\fpc-qt>C:\lazarus\x86_64\fpc\3.2.2\bin\x86_64-win64\fpc.exe -Twin64 -Mdelphi -dwindows -dwin64 -O2 -vl -Anasmwin64 -al -FE..\..\units\fpc-qt Qt_Object.pas
Free Pascal Compiler version 3.2.2 [2022/09/24] for x86_64
Copyright (c) 1993-2021 by Florian Klaempfl and others
Target OS: Win64 for x64
Compiling Qt_Object.pas
2 197/1.280 Kb Used
Qt_Object.pas(15,27) Error: The mix of different kind of objects (class, object, interface, etc) isn't allowed
Qt_Object.pas(18,21) Error: Type "QObject" is not completely defined
Qt_Object.pas(20,37) Error: It is not possible to define a default value for a parameter of type "QObject"
Qt_Object.pas(20,24) Error: Incompatible types: got "Pointer" expected "QObject"
Qt_Object.pas(20,50) Error: Virtual constructors are only supported in class object model
Qt_Object.pas(23,51) Error: Property cannot have a default value
Qt_Object.pas(21,16) Warning: An inherited method is hidden by "destructor Destroy;"
Qt_Object.pas(26,1) Fatal: There were 6 errors compiling module, stopping
Fatal: Compilation aborted
Error: C:\lazarus\x86_64\fpc\3.2.2\bin\x86_64-win64\ppcx64.exe returned an error exitcode

The Header (interface) match the Body (implementation).
But I can not use TObject as Object parrent:

Code: Pascal  [Select][+][-]
  1. type
  2.   QObject = object(TObject)
  3.   protected
  4.     { keeps access in derived classes }
  5.     FParent: QObject;
  6.   public
  7.     constructor Create(p: QObject = nil); virtual;
  8.     destructor Destroy;
  9.  
  10.     property Parent: QObject read FParent default nil;
  11.   end;
  12.  

match: Object:
Code: Pascal  [Select][+][-]
  1. unit objpas;
  2.  
  3. interface
  4.  
  5. type
  6.   TObject = object
  7.   public
  8.     constructor Create;
  9.     destructor Destroy;
  10.   end;
  11.  
  12. implementation
  13.  
  14. constructor TObject.Create;
  15. begin
  16.  
  17. end;
  18.  
  19. destructor TObject.Destroy;
  20. begin
  21. end;
  22.  
  23. end.
  24.  
MS-IIS - Internet Information Server, Apache, PHP/HTML/CSS, MinGW-32/64 MSys2 GNU C/C++ 13 (-stdc++20), FPC 3.2.2
A Friend in need, is a Friend indeed.

 

TinyPortal © 2005-2018