![]() |
Interner Fehler: LA33
Momentan macht Delphi bei mir wieder sehr seltsame Probleme.
Delphi-Quellcode:
Wenn ich beispielsweise dieses Programm compilieren will, heißt es entweder in der unteren Leiste
program wd4gexec;
uses Dialogs, SysUtils, wd4gstruct.postings, Forms; {$R *.res} var Test: TLogicalList; var x:string; begin SetLengthOfLogList(Test,48); Test[0] := 127; SetBitInLogList(Test,2,false); ShowMessage(IntToStr(Test[0])); end. "[Fataler Fehler] wd4gexec.dpr (21): F2084 Interner Fehler: LA33" oder es erscheint ein Dialog "Zugriffsverletzung bei Adresse 08717501 in Modul 'dcc90.dll'. Lesen von Adresse 0000000F." Gestern hat der gleiche Quelltext noch funktioniert.
Delphi-Quellcode:
Wenn ich es in der Form compilieren will, passiert erst einmal gar nichts.
program wd4gexec;
uses Dialogs, SysUtils, //wd4gstruct.postings, Forms; {$R *.res} // var Test: TLogicalList; var x:string; begin // SetLengthOfLogList(Test,48); // Test[0] := 127; // SetBitInLogList(Test,2,false); // ShowMessage(IntToStr(Test[0])); WriteLn('lol'); ReadLn(x); end. Ergebnis der Reperatur von Delphi: kein Erfolg. Selbst eine Neuinstallation hat nichts gebracht. Was geht hier vor? |
Re: Interner Fehler: LA33
Was macht SetLengthOfLogList?
Musst Du die Liste nicht erst noch instantiieren? |
Re: Interner Fehler: LA33
TLogicalList ist keine Liste, sondern nur ein dynamisches Array.
SetLengthOfLogList(Test,48 ) bewirkt das gleiche wie SetLength(Test,6) TLogicalList soll viele logische Werte speichern können. Sinnvoll wäre ein Array Of Boolean. Das verbraucht jedoch für jeden Wert im Array ein Byte. Ich habe es daher so definiert: type TLogicalList = Array Of Byte; Dann wird jeder logische Wert durch ein Bit dargestellt. Die 48 in "SetLengthOfLogList(Test,48 )" steht für 48 Logische Werte = 48 Bits = 6 Bytes. Um einen einzelnen Wert zu setzen, benutzt man SetBitInLoglist(var Loglist: TLogicalList; index: Word; Value: Boolean); SetBitInLogList(Test,2,false) setzt also den dritten logischen Wert auf 0 (false). |
Re: Interner Fehler: LA33
Wieso wird gleich im Delphi neu installiert? Zu 99,5% der Fälle ist dies sinnlos da Programmierfehler vorlegen?
Ist dein den nun ein Konsolen oder ein normales GUI-Programm? Für ein Konsolenprogramm ist komisch das die Unit Forms eingebunden ist. Ich Tipp mal drauf das in den Projektoptionen die entsprechende OPtion nicht auf Consolenanwendung steht. |
Re: Interner Fehler: LA33
Es fehlt ja auch die entsprechende Zeile, die nach der ersten Zeile dann folgen würde:
Delphi-Quellcode:
{$APPTYPE CONSOLE}
|
Re: Interner Fehler: LA33
Ach ja: D2005. Zweitschlechtestes Delphi aller Zeiten. Wenn möglich auf Turbo Delphi wechsenl
|
Re: Interner Fehler: LA33
Zitat:
Ein Byte = 8 Bits und nicht vice versa -> ..( Test, 48 ) = 48 Bytes Soweit ich etwas nicht missverstanden habe. MfG |
Re: Interner Fehler: LA33
Hallo Emre,
ich glaube du hast ihn falsch verstanden: Er speichert mehrere Booleans (= 1 Bit) in einem Byte (= 8 Bit). Wenn er nun 48 Booleans möglichst Platzsparend unterbringen will, dann kann er das in 6 Bytes tun, da 6 Bytes 48 Bit sind. MfG xZise |
Re: Interner Fehler: LA33
Mal das Project neu "erstellt", also nicht nur compiliert?
|
Re: Interner Fehler: LA33
Zitat:
Zitat:
Zitat:
Zitat:
Zitat:
|
Re: Interner Fehler: LA33
Zitat:
|
Re: Interner Fehler: LA33
Zitat:
2.) Es ist doch ein Konsolenfenster offen. Wenn ich bei den Linkeroptionen "Konsolenanwendung" aktiviere, startet auch ein GUI-Programm mit Konsolenfenster, was sehr praktisch ist, da man dann auch in die Konsole schreiben kann, aber trotzdem ein Form hat. |
Re: Interner Fehler: LA33
Zitat:
|
Re: Interner Fehler: LA33
Hallo,
soclhe Fehler findet man nur durch Auskommentieren, probieren , rein, probieren. Du hattest ja schon damit angefangen. Der nächste Schritt, das uses wieder rein (Code unten bleibt auskommentiert ) Kommt der Fehler wieder, in der Unit beginnen auskommentieren. Ich denke, die Unit solltest du mal posten. usw.
Delphi-Quellcode:
Was ist das für eine seltsame Unit ?
uses
wd4gstruct.postings Heiko |
Re: Interner Fehler: LA33
Zitat:
@Fragesteller: Könntest du ein komplettes Testprojekt posten das bei dir nicht kompilierbar ist? |
Re: Interner Fehler: LA33
Zitat:
|
Re: Interner Fehler: LA33
Zitat:
|
Re: Interner Fehler: LA33
Wobei hier aber D7 besser ist :zwinker:
|
Re: Interner Fehler: LA33
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
Zitat:
Zitat:
|
Re: Interner Fehler: LA33
Zitat:
|
Re: Interner Fehler: LA33
Auf Turbo Delphi kann man keine installieren.
|
Re: Interner Fehler: LA33
Aber trotzdem benutzen!
|
Re: Interner Fehler: LA33
Und was habe ich davon, wenn ich keine installieren kann?
Dann kann ich ja nur die mitgelieferten benutzen. Außerdem löst das Umsteigen mein Problem auch nicht. Irgendwie muss es ja auch mit D2005 funzen. Wie gesagt, der selbe Quelltext hat kurz vorher noch funktioniert. |
Re: Interner Fehler: LA33
Zitat:
|
Re: Interner Fehler: LA33
Zitat:
|
Re: Interner Fehler: LA33
Einfach Komponente(n) manuell instantieeren.
Delphi-Quellcode:
Wenn die GExperts (Experte "Components To Code") installierst sind, kann man auch D7/D2005 als Formulardesigner für TDE verwenden
<Kompo> := T<Kompo>.Create(<Owner>);
<Kompo>.parent := <Parent>; <Kompo>.Left := <Linker Rand>; <Kompo>.Top := <Oberer Rand>; ... |
Re: Interner Fehler: LA33
Und wie binde ich dann das Package mit den Komponenten ein?
|
Re: Interner Fehler: LA33
Diese müssen nur im Pfad liegen. Units manuell in Uses aufnehmen.
|
Re: Interner Fehler: LA33
Dann habe ich die Units einzeln. Dann muss ich das ganze ja nicht in ein Package stecken, oder?
Außerdem ist diese Diskussion sowieso sinnlos, da ich schon Turbo C++ installiert habe. Irgendwie muss ja auch D2005 funzen. |
Re: Interner Fehler: LA33
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:17 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz