External Exception C0150014
-
- Beiträge: 29
- Registriert: Fr 19. Mai 2017, 18:04
- OS, Lazarus, FPC: Win10x64, L 1.8rc3, FPC3.0.2
- CPU-Target: 64
- Wohnort: Nord-Baden
- Kontaktdaten:
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:
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:
OS: ...-Win10 x64
Laz: ...-1.8rc1
https://github.com/joecare99/public
'~| . . /'' . .
,_|oe \_,are
Laz: ...-1.8rc1
https://github.com/joecare99/public
'~| . . /'' . .
,_|oe \_,are
-
- Beiträge: 6910
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: External Exception C0150014
Hast du die Fehler fScanLog.pas mal angeguckt ?
Aber das "External Exception C0150014." ist doch etwas komisch.
Aber das "External Exception C0150014." ist doch etwas komisch.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
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.
-
- Beiträge: 29
- Registriert: Fr 19. Mai 2017, 18:04
- OS, Lazarus, FPC: Win10x64, L 1.8rc3, FPC3.0.2
- CPU-Target: 64
- Wohnort: Nord-Baden
- Kontaktdaten:
Re: External Exception C0150014
... 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....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.
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
Laz: ...-1.8rc1
https://github.com/joecare99/public
'~| . . /'' . .
,_|oe \_,are
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
http://wiki.freepascal.org/H2Paswizard
https://www.freepascal.org/tools/h2pas.var
http://wiki.freepascal.org/Creating_bin ... _libraries
-
- Beiträge: 29
- Registriert: Fr 19. Mai 2017, 18:04
- OS, Lazarus, FPC: Win10x64, L 1.8rc3, FPC3.0.2
- CPU-Target: 64
- Wohnort: Nord-Baden
- Kontaktdaten:
Re: External Exception C0150014
Ich will nicht ein vorhandenes C-Programm benutzen, ich will den C-Quelltext in Pascal umwandeln.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
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
Laz: ...-1.8rc1
https://github.com/joecare99/public
'~| . . /'' . .
,_|oe \_,are
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.
...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.
-
- Beiträge: 29
- Registriert: Fr 19. Mai 2017, 18:04
- OS, Lazarus, FPC: Win10x64, L 1.8rc3, FPC3.0.2
- CPU-Target: 64
- Wohnort: Nord-Baden
- Kontaktdaten:
Re: External Exception C0150014
Off Topic: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.
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);}
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.
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
Laz: ...-1.8rc1
https://github.com/joecare99/public
'~| . . /'' . .
,_|oe \_,are
- af0815
- Lazarusforum e. V.
- Beiträge: 6768
- Registriert: So 7. Jan 2007, 10:20
- OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
- CPU-Target: 32Bit (64Bit)
- Wohnort: Burgenland
- Kontaktdaten:
Re: External Exception C0150014
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.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.
Andreas
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
-
- Beiträge: 6910
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: External Exception C0150014
Mir ist dieser Code noch viel zu leserlich.Viel Spaß !!!

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
Aber du hat recht, in C/C++ findet man viel fast unleserliches.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
-
- Beiträge: 29
- Registriert: Fr 19. Mai 2017, 18:04
- OS, Lazarus, FPC: Win10x64, L 1.8rc3, FPC3.0.2
- CPU-Target: 64
- Wohnort: Nord-Baden
- Kontaktdaten:
Re: External Exception C0150014
Stimmt ... dann gibt's hier theMathias hat geschrieben:Mir ist dieser Code noch viel zu leserlich.Viel Spaß !!!![]()
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.
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
Laz: ...-1.8rc1
https://github.com/joecare99/public
'~| . . /'' . .
,_|oe \_,are