External Exception C0150014

Für Installationen unter Windows

External Exception C0150014

Beitragvon jc99 » 5. Jun 2017, 20:11 External Exception C0150014

Kann jemand mit dieser Fehlermeldung was anfangen ?

Sys: Win10_x64, laz1.8rc1+AD+SpartaDE
Habe ToPas von https://sourceforge.net/projects/topas/ ... ecommended geladen.
mit "Delphi-Projekt umwandeln" konvertiert.
und bekomme mittendrin : External Exception C0150014.
Dann nach längerem warten (Laz-Icon in der Taskeiste blinkt wie verückt): "Too many Handles" und Laz stürzt ab.

Beim wiederöffnen des Projekts: Compilieren:
Nochmal: External Exception C0150014.
Nicht wegzuklicken, kommt immer wieder. (Lazarus muß dann per TaskManager von Hand gekillt werden )
siehe Bild:
Dateianhänge
2017-06-05 (1).jpg
OS: ...-Win10 x64
Laz: ...-1.8rc1
https://github.com/joecare99/public
'~| . . /'' . .
,_|oe \_,are
jc99
 
Beiträge: 30
Registriert: 19. Mai 2017, 17:04
Wohnort: Nord-Baden
OS, Lazarus, FPC: Win10x64, L 1.8rc3, FPC3.0.2 | 
CPU-Target: 64
Nach oben

Beitragvon Mathias » 5. Jun 2017, 21:57 Re: External Exception C0150014

Hast du die Fehler fScanLog.pas mal angeguckt ?

Aber das "External Exception C0150014." ist doch etwas komisch.
Mit Lazarus sehe ich gün
Mit Java und C/C++ sehe ich rot
Mathias
 
Beiträge: 4347
Registriert: 2. Jan 2014, 17:21
Wohnort: Schweiz
OS, Lazarus, FPC: Linux (die neusten Trunc) | 
CPU-Target: 64Bit
Nach oben

Beitragvon wp_xyz » 5. Jun 2017, 22:24 Re: External Exception C0150014

Hast du dich auf der Seite etwas näher umgesehen? Es gibt da unter "Code" auch ein svn-Repository, das etwas aktueller ist als die zip-Datei, die direkt angeboten ist. In dem Repository findet sich auch ein Ordner "lazwintopas", der anscheinend alle Lazarus-Anpassungen bereits enthält. Ich habe mal versucht, das zu übersetzen, bin aber immer wieder hängen geblieben. 10 Jahre gehen nicht spurlos vorbei... Vielleicht kommst du weiter. Ansonsten: der Autor skalogryz ist häufig im englischen Forum zu erreichen.
wp_xyz
 
Beiträge: 2993
Registriert: 8. Apr 2011, 08:01

Beitragvon jc99 » 6. Jun 2017, 00:48 Re: External Exception C0150014

wp_xyz hat geschrieben:Hast du dich auf der Seite etwas näher umgesehen? Es gibt da unter "Code" auch ein svn-Repository, das etwas aktueller ist als die zip-Datei, die direkt angeboten ist. In dem Repository findet sich auch ein Ordner "lazwintopas", der anscheinend alle Lazarus-Anpassungen bereits enthält. Ich habe mal versucht, das zu übersetzen, bin aber immer wieder hängen geblieben. 10 Jahre gehen nicht spurlos vorbei... Vielleicht kommst du weiter. Ansonsten: der Autor skalogryz ist häufig im englischen Forum zu erreichen.

... Ups, Du hast recht, da hätte ich mir 'ne Menge Arbeit sparen können. Üblicherweise schau ich nach, ob nicht eine svn/git-Repository angeboten wird....
Es bleibt jedoch der Fehler. (Ist vermulich ausgelöst von nicht vorhandenen Listbox-Eigenschaft) aber ein gutes Programm meldet den Fehler und der Benutzer kann ihn korrigieren. Aber abstürzen oder unbedienbar werden geht gar nicht.
OS: ...-Win10 x64
Laz: ...-1.8rc1
https://github.com/joecare99/public
'~| . . /'' . .
,_|oe \_,are
jc99
 
Beiträge: 30
Registriert: 19. Mai 2017, 17:04
Wohnort: Nord-Baden
OS, Lazarus, FPC: Win10x64, L 1.8rc3, FPC3.0.2 | 
CPU-Target: 64
Nach oben

Beitragvon theo » 6. Jun 2017, 08:17 Re: External Exception C0150014

Nebenbei: Ich weiß nicht, was dein Tool genau macht, aber kennst du das mitgelieferte h2pas und den wizard?

http://wiki.freepascal.org/H2Paswizard
https://www.freepascal.org/tools/h2pas.var
http://wiki.freepascal.org/Creating_bin ... _libraries
theo
 
Beiträge: 8193
Registriert: 11. Sep 2006, 18:01

Beitragvon jc99 » 16. Jun 2017, 04:08 Re: External Exception C0150014

theo hat geschrieben:Nebenbei: Ich weiß nicht, was dein Tool genau macht, aber kennst du das mitgelieferte h2pas und den wizard?

http://wiki.freepascal.org/H2Paswizard
https://www.freepascal.org/tools/h2pas.var
http://wiki.freepascal.org/Creating_bin ... _libraries

Ich will nicht ein vorhandenes C-Programm benutzen, ich will den C-Quelltext in Pascal umwandeln.
ToPas erledigt das indem es den C-Quelltext parst und tokenifiziert. Und dann... ich glaube der Teil fehlt, oder funktioniert nicht mehr.
Es geht jedenfalls über das reine Suchen-Ersetzen wie bei OpenC2Pas hinaus.
Benchmark sind die ioccc - Programme. Oder nethack ...
OS: ...-Win10 x64
Laz: ...-1.8rc1
https://github.com/joecare99/public
'~| . . /'' . .
,_|oe \_,are
jc99
 
Beiträge: 30
Registriert: 19. Mai 2017, 17:04
Wohnort: Nord-Baden
OS, Lazarus, FPC: Win10x64, L 1.8rc3, FPC3.0.2 | 
CPU-Target: 64
Nach oben

Beitragvon theo » 16. Jun 2017, 10:50 Re: External Exception C0150014

Was war nun genau das Problem?

...mal abgesehen davon, dass solche automatischen Übersetzer immer unbefriedigende Ergebnisse liefern, bzw. immer profunde Kenntnisse in beiden Sprachen voraussetzen.
Im besten Fall kann man damit etwas Zeit sparen, aber "Ahnung" ersetzt das aus meiner Erfahrung nicht.
theo
 
Beiträge: 8193
Registriert: 11. Sep 2006, 18:01

Beitragvon jc99 » 16. Jun 2017, 12:08 Re: External Exception C0150014

theo hat geschrieben:Was war nun genau das Problem?
Im besten Fall kann man damit etwas Zeit sparen, aber "Ahnung" ersetzt das aus meiner Erfahrung nicht.

Off Topic:
Genau beim ersten größeren Programm hat dann etwas Zeit gespart. Das kommt darauf an wieviel "Ahnung" man in das Umsetzungsprogramm-steckt.
In meiner Firma bin ich der Mann für die unlösbaren Probleme. Ich denke mehrere Jahre in C/C++ und ca 30 Jahre mit Pascal sollte schon ein wenig Ahnung sein.
Zumindest soviel, daß ich C nicht für eine Programmiersprache sondern für eine Krankheit halte siehe IOCCC (sollte Beweiß genug sein)
Wobei:
Code: Alles auswählen
#define P(X)write(1,X,1)
#define C 39
#define E 1024
int M[E]={2},*u=M,N[E],R=22,a[4],l[]={0,-1,C-1,-1},m[]={1,-C,-1,C},*b=N,*d=N,c,e,f,g,i,s;main(){for(M[e=i=C*R-1]=E|8;f|d>=b;){c=M[g=i];i=e;for(s=f=0;s<4; s++)if((e=m[s]+g)>=0&&e<C*R&&l[s]!=e%C&&(c&E)!=(M[e]&E))a[f++]=s;if(f){f=M[e=m[s=a[rand()%f]]+g];f|=E;M[g]=c|1<<s;M[*d++=e]=f|1<<(s+2)%4;}else e=d>b++?b[-1]:e;}P(" ");for(s=C;s--;P(" "))P("_");for(;P("\n"),R--;P("|"))for(e=C;e--;P("_ "+(*u++/8)%2))P("| "+(*u/4)%2);}

geht auch in Pascal/FPC
Code: Alles auswählen
 
Program Unt_iopcc;{$mode delphi}{$H+}{$apptype console}{$define _}Type Z=Integer;Y=0..3;Const X=1024;W=39;V=22;T='|_|  _  |';L:Array[Y]Of Z=(0,-3,W-1,-1);H:Array[Y]Of Z=(1,W,-1,-W);Var M:Array[0..X]Of Z;Function P(Var A:Z):Z;Begin P:=A;Inc(A);End;Procedure Q(A:Z);Begin Write(Copy(T+LineEnding,A+1,2+A Div 8));End;Var U:Z=0;N:Array[0..X]Of Z;A:Array[Y]Of Z;D:Z=0;B:Z=0;C,E,G,I,S:Z;F:Z=0;Begin Randomize;M[0]:=8;I:=W*V-1;E:=I;M[I]:=X+2;While(F<>0)Or(B>=D)Do Begin G:=I;I:=E;C:=M[G];F:=0;For S In L Do Begin E:=H[S And 3]+G;If((E>=0)And(E<W*V)And(S<>(E Mod W))And((C And X)<>(M[E]And X)))Then Begin A[P(F)]:=S;End;End;If(F<>0)Then Begin S:=A[Random(F)]And 3;E:=H[S]+G;M[G]:=C Or 1 Shl S;M[E]:=M[E]Or X Or(1 Shl((S+2)Mod 4));N[P(B)]:=E;End Else Begin If B>=D Then E:=N[P(D)];End;End;Q(6);For G:=1 To W-1 Do Q(4);Q(9);For G:=1 To V Do Begin For E:=1 To W Do Begin Q(M[P(U)]And 6);End;Q(8);End;{$IFDEF _}Readln;{$ENDIF}End.

Viel Spaß !!!

PS: Bei dem Pascal-Program bin ich am überlegen wie ich T noch etwas komprimieren kann.
On Topic:
PPS: Das Problem ist daß man sich auf eine Programmier-Oberfläche verlassen können sollte, ohne sich verlassen zu fühlen. Ich weiß mir in der Regel zu helfen aber es ist trotzdem sehr ärgerlich. Die Ursache für die Exception liegt an einer nicht ganz passenden Form-Definition, damit hat Lazarus schon Probleme jedoch mit Sparta_DockedFormEditor sind sie noch größer. Ich sollte mich damit aber warscheinlich direkt an hnb (den Autor) wenden.
OS: ...-Win10 x64
Laz: ...-1.8rc1
https://github.com/joecare99/public
'~| . . /'' . .
,_|oe \_,are
jc99
 
Beiträge: 30
Registriert: 19. Mai 2017, 17:04
Wohnort: Nord-Baden
OS, Lazarus, FPC: Win10x64, L 1.8rc3, FPC3.0.2 | 
CPU-Target: 64
Nach oben

Beitragvon af0815 » 16. Jun 2017, 14:26 Re: External Exception C0150014

jc99 hat geschrieben:Die Ursache für die Exception liegt an einer nicht ganz passenden Form-Definition, damit hat Lazarus schon Probleme jedoch mit Sparta_DockedFormEditor sind sie noch größer.


ACK. Das Lesen/Parsen von LFM und die Anzeige sind relativ kritische Punkte in Lazarus. Auch wenn der Sync zwischen Code und Darstellung (lfm) gestört wird, gibts es recht rasch sehr 'komische' Fehlermeldungen bzw. komplette Abstürze/Blockaden von Lazarus. Das sind meiner Erfahrung nach die empfindlichsten Teile der IDE.

Andreas
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
af0815
 
Beiträge: 3789
Registriert: 7. Jan 2007, 10:20
Wohnort: Niederösterreich
OS, Lazarus, FPC: FPC 3.2 Lazarus 2.0 per fpcupdeluxe | 
CPU-Target: 32Bit (64Bit)
Nach oben

Beitragvon Mathias » 16. Jun 2017, 17:34 Re: External Exception C0150014

Viel Spaß !!!

Mir ist dieser Code noch viel zu leserlich. :mrgreen:
Code: Alles auswählen
PROGRAM UNT_IOPCC;{$mode delphi}{$H+}{$apptype console}{$define _}TYPE Z=INTEGER
;Y=0..3;CONST X=1024;W=39;V=22;T='|_|  _  |';L:ARRAY[Y]OF Z=(0,-3,W-1,-1);H:ARRAY
[Y]OF Z=(1,W,-1,-W);VAR M:ARRAY[0..X]OF Z;FUNCTION P(VAR A:Z):Z;BEGIN P:=A;INC(A)
;END;PROCEDURE Q(A:Z);BEGIN WRITE(COPY(T+LINEENDING,A+1,2+A DIV 8));END;VAR U:Z=0
;N:ARRAY[0..X]OF Z;A:ARRAY[Y]OF Z;D:Z=0;B:Z=0;C,E,G,I,S:Z;F:Z=0;BEGIN RANDOMIZE;M
[0]:=8;I:=W*V-1;E:=I;M[I]:=X+2;WHILE(F<>0)OR(B>=D)DO BEGIN G:=I;I:=E;C:=M[G];F:=0
;FOR S IN L DO BEGIN E:=H[S AND 3]+G;IF((E>=0)AND(E<W*V)AND(S<>(E MOD W))AND((C AND
X)<>(M[E]AND X)))THEN BEGIN A[P(F)]:=S;END;END;IF(F<>0)THEN BEGIN S:=A[RANDOM(F)]
AND 3;E:=H[S]+G;M[G]:=C OR 1 SHL S;M[E]:=M[E]OR X OR(1 SHL((S+2)MOD 4));N[P(B)]:=
E;END ELSE BEGIN IF B>=D THEN BEGIN E:=N[P(D)];END;END;END;Q(6);FOR G:=1 TO W-1 DO
BEGIN Q(4);END;Q(9);FOR G:=1 TO V DO BEGIN FOR E:=1 TO W DO BEGIN Q(M[P(U)]AND 6)
;END;Q(8);END;{$IFDEF _}READLN;{$ENDIF}END.\0


In Javascript habe ich so ähnliches schon erlebt, aber ich denke, dort geht es um Geschwindikeitsoptimierung.

Aber du hat recht, in C/C++ findet man viel fast unleserliches.
Mit Lazarus sehe ich gün
Mit Java und C/C++ sehe ich rot
Mathias
 
Beiträge: 4347
Registriert: 2. Jan 2014, 17:21
Wohnort: Schweiz
OS, Lazarus, FPC: Linux (die neusten Trunc) | 
CPU-Target: 64Bit
Nach oben

Beitragvon jc99 » 16. Jun 2017, 18:59 Re: External Exception C0150014

Mathias hat geschrieben:
Viel Spaß !!!

Mir ist dieser Code noch viel zu leserlich. :mrgreen:

In Javascript habe ich so ähnliches schon erlebt, aber ich denke, dort geht es um Geschwindikeitsoptimierung.

Aber du hat recht, in C/C++ findet man viel fast unleserliches.

Stimmt ... dann gibt's hier the
Next Version:
Code: Alles auswählen
 
    Program Iopcc;{$apptype console}{$define _}Type L=Integer;I=0..3;Const Z=1 Shl 11;U=$13 Shl 1+1;O=U And-U;D=O Shl(O Shl O+O);C=' _|';B=$597B;
    l0:Array[I]Of L=(0,-3,U-O,-O);lQ:Array[I]Of L=(O,U,-O,-U);Var E:Array[0..Z]Of L;Function H(Var Q:L):L;Begin H:=Q;Inc(Q);End;Procedure Q(U:L);Begin
    If U<D Then Write(C[B Shr(H(U)Shl 1) And 3]+C[B Shr(U Shl 1)And 3])Else Write(Copy(C+C+C+LineEnding,U+O,3));End;Var
 
          Hel:l=0;Wor:l=d-D;  P,A,S,CA:L;_fe:l=z-z;_C,oo:l;
 
    ll:Array[0..Z]Of L;l1:Array[I]Of L;Begin Randomize;E[0]:=8;CA:=U*U-O;A:=CA;E[CA]:=Z+2;While(Wor<>0)Or(_fe>=Hel)Do Begin S:=CA;CA:=A;_C:=E[S];Wor:=0;
    For P In l0 Do Begin A:=lQ[P And 3]+S;If((A>=0)And(A<U*U)And(P<>(A Mod U))And((_C And Z)<>(E[A]And Z)))Then Begin l1[H(Wor)]:=P;End;End;If (Wor<>0)Then
    Begin P:=l1[Random(Wor)]And 3;A:=lQ[P]+S;E[S]:=_C Or O Shl P;E[A]:=E [A]Or Z Or(O Shl((P+2)Mod 4));ll[H(_fe)]:=A;End Else Begin If _fe>=Hel Then
    A:=ll [H(Hel)];End;End;Q(6);For S:=O To U-O Do Q(4);Q(D+O);For S:=O To U Do Begin For A :=O To U Do Q(E[H(Oo)]And 6);Q(D);End;{$IFDEF _}Readln;{$ENDIF}End.
 
OS: ...-Win10 x64
Laz: ...-1.8rc1
https://github.com/joecare99/public
'~| . . /'' . .
,_|oe \_,are
jc99
 
Beiträge: 30
Registriert: 19. Mai 2017, 17:04
Wohnort: Nord-Baden
OS, Lazarus, FPC: Win10x64, L 1.8rc3, FPC3.0.2 | 
CPU-Target: 64
Nach oben

• Themenende •

Zurück zu Windows



Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast

porpoises-institution
accuracy-worried