Entwickler-Ecke

Delphi Language (Object-Pascal) / CLX - Warnung: Rückgabewert der Funktion könnte undefiniert sein?


Chakvour - Do 11.02.10 11:53

Moderiert von user profile iconNarses: Abgetrennt von hier: http://www.delphi-forum.de/viewtopic.php?t=97754

Super nun isses weg :)

Könnt ihr mir kurz noch hierbei helfen?


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
function Search_And_Replace(RichEdit: TRichEdit; SearchText, ReplaceText: string): Boolean;
var
  startpos, Position, endpos: integer;
begin
  startpos := 0;
  with RichEdit do
  begin
    endpos := Length(RichEdit.Text);
    Lines.BeginUpdate;
    while FindText(SearchText, startpos, endpos, [stMatchCase])<>-1 do
    begin
      endpos   := Length(RichEdit.Text) - startpos;
      Position := FindText(SearchText, startpos, endpos, [stMatchCase]);
      Inc(startpos, Length(SearchText));
      SetFocus;
      SelStart  := Position;
      SelLength := Length(SearchText);
      RichEdit.clearselection;
      RichEdit.SelAttributes.Style := [fsBold];
      SelText := ReplaceText;
      RichEdit.SelAttributes.Style := [];
    end;
    Lines.EndUpdate;
  end;
end;


Irgendwie sagt mir Delphi 1 Warnung.
Rückgabewert der Funktion 'Search_And_Replace' könnte undefiniert sein

Und zwar ist das die letzte Zeile die er anspringt.


elundril - Do 11.02.10 11:57

ja, weil du in deiner funktion nie ein result festlegst. entweder du machst das zu einer prozedur, oder du überlegst dir wie und wo du den result setzt.

lg elundril


Chakvour - Do 11.02.10 12:08

Sorry aber ich habe das von einer Script Seite :)

So genau kenne ich mich nicht aus. Es lief ja vorher ohne Warnung aber nun ist es irgendwie da.

Habe ja noch den Button dafür um den Text zu ersetzen.


Delphi-Quelltext
1:
2:
3:
4:
procedure TForm1.Button1Click(Sender: TObject);
begin
  Search_And_Replace(Richedit1, 'OldText''NewText');
end;


Xentar - Do 11.02.10 12:12

- Das gehört nicht mehr zu deinem verschwundenen Panel, also wäre eigentlich ein neuer Thread fällig
- Die Warnung hat nichts damit zu tun, dass es das Panel nicht mehr gibt
- Grund der Meldung: Du verwendest eine function, aber weist nirgendwo einen Rückgabewert zu. Mach ne proceduredraus.