Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Inkompatible Typen (https://www.delphipraxis.net/150047-inkompatible-typen.html)

hw24 6. Apr 2010 10:57


Inkompatible Typen
 
Hallo Kollegen,
ich hoffe, dass ich hier richtig bin (ansonsten bitte ins richtige Forum verschieben, Mod) :)

Ich verzweifle gerade an einer 3rd Party Komponente "TRichView". Ich selbst benutze dieses Dings nicht, muss sie aber ins Projekt einbinden.
Bei jedem Build beglückt mich meine Asbach-Uralt-Umgebung D6/SP2 mit:
[Fehler] Inkompatible Typen

Was ist hier inkompatibel ? Ich sehe da nichts schlimmes. Aber ihr kennt das ja. Wald ... Bäume ... :wink:

Delphi-Quellcode:
(Verkürzter Source aus dem 3rd-Party Original-Source)
var
  sourceStrPtr: PChar;
  sourceStrPtrLen, max, no: Integer;
  str: array[0..1000] of char;
begin
  sourceStrPtr := PChar([i]{TRichView.LineInfo}[/i](lines.Strings[no]);
  strForAdd := str;
  sourceStrPtrLen := StrLen(sourceStrPtr);
  if max=0 then max := 1;
  StrLCopy(strForAdd, sourceStrPtr,max);
  sourceStrPtr := @(sourceStrPtr[max]); // Hier krachts. Inkompatible Typen.
end;
Vielleicht hat einer von euch einen Tip für mich ?

Danke, Harry

[edit=mkinzler]Delphi-Tag eingefügt Mfg, mkinzler[/edit]

Teekeks 6. Apr 2010 11:00

Re: Inkompatible Typen
 
Wenn ich das richtig sehe machst du das hier:
Delphi-Quellcode:
apchar:=@astring;
richtig wäre:
Delphi-Quellcode:
apchar:=PChar(astring[1]);
Edit:
Also mach das hier:
Delphi-Quellcode:
sourceStrPtr := PChar(sourceStrPtr[max,1]);

DP-Maintenance 6. Apr 2010 11:01

DP-Maintenance
 
Dieses Thema wurde von "mkinzler" von "VCL / WinForms / Controls" nach "Object-Pascal / Delphi-Language" verschoben.
Keine Frage zu einem Control

hw24 6. Apr 2010 11:20

Re: Inkompatible Typen
 
Zitat:

Zitat von Teekeks
Wenn ich das richtig sehe machst du das hier:
Delphi-Quellcode:
apchar:=@astring;
richtig wäre:
Delphi-Quellcode:
apchar:=PChar(astring[1]);
Edit:
Also mach das hier:
Delphi-Quellcode:
sourceStrPtr := PChar(sourceStrPtr[max,1]);

Hat fast gefluppt, aber jetzt kommt
[Fehler] RichView.pas(857): Array-Typ erforderlich

// sourceStrPtr := @(sourceStrPtr[max]);
sourceStrPtr := PChar(sourceStrPtr[max,1])

?

mkinzler 6. Apr 2010 11:25

Re: Inkompatible Typen
 
Lass mal die 1 weg

Teekeks 6. Apr 2010 11:28

Re: Inkompatible Typen
 
aber muss ein pchar nicht auf das erste Zeichen zeigen?
edit:
Nochmal angeguckt, nu isses klar :)

hw24 6. Apr 2010 12:49

Re: Inkompatible Typen
 
// sourceStrPtr := @(sourceStrPtr[max]);
// sourceStrPtr := PChar(sourceStrPtr[max,1])
sourceStrPtr := PChar(sourceStrPtr[max])

Vielen Dank an euch beide.
Könnte funktionionieren.
Im Moment kann ich leider nicht compilieren, weil einer lieben meiner Kollegen im projekt etwas ziemlich verbaselt hat.
Ich melde mich wieder.
Danke !

Gruss, Harry

hw24 7. Apr 2010 06:32

Re: Inkompatible Typen
 
Passt! :thumb:
Super. Danke euch. :hello:

Gruss Harry


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:01 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz