Сейчас на форуме: tyns777 (+4 невидимых) |
eXeL@B —› Программирование —› Delphi 7, dll и TStringGrid |
Посл.ответ | Сообщение |
|
Создано: 14 мая 2010 15:15 · Поправил: FockuS · Личное сообщение · #1 Нужен пример кода для dll, чтобы вытащть содержимое с TStringGrid. Уточнение: приложение чужое. пробывал этот код, но не удачно. (( procedure SGCopyToCLP(StringGrid: TStringGrid; CopySel: Boolean; CL: integer = -1; RT: integer = -1; CR: integer = -1; RB: integer = -1)stdcall; var i, j: Integer; s: string; begin s := ''; with StringGrid do begin if CopySel then begin CL := Selection.Left; CR := Selection.Right; RT := Selection.Top; RB := Selection.Bottom; end; if (CL < FixedCols) or (CL > CR) or (CL >= ColCount) then CL := FixedCols; if (CR < FixedCols) or (CL > CR) or (CR >= ColCount) then CR := ColCount - 1; if (RT < FixedRows) or (RT > RB) or (RT >= RowCount) then RT := FixedRows; if (RB < FixedCols) or (RT > RB) or (RB >= RowCount) then RB := RowCount - 1; for i := RT to RB do begin for j := CL to CR do begin s := s + Cells[j, i]; if j < CR then s := s + #9; end; s := s + #13#10; end; end; ClipBoard.AsText := s; end; копирование происходит, но не до конца показывает 2 ошибки 1) ишибка на чтение с адреса 2) Stack overloff |
|
Создано: 14 мая 2010 16:28 · Поправил: Isaev · Личное сообщение · #2 1. FockuS пишет: копирование происходит, но не до конца Копирование никуда не происходит, т.к. s локальная переменная и процедура ничего не возвращает 2. FockuS пишет: показывает 2 ошибки судя по Code:
необходимо перед копированием выделить область в таблице, иначе ошибки будут ----- z+Dw7uLu5+jqLCDq7vLu8PvpIPHs7uMh |
|
Создано: 14 мая 2010 17:37 · Личное сообщение · #3 |
|
Создано: 14 мая 2010 17:37 · Личное сообщение · #4 варианты вызов процедуры: SGCopyToCLP(StringGrid, True); //выделение SGCopyToCLP(StringGrid, False); //все ячейки SGCopyToCLP(StringGrid, False, 1, 1, 3, 2); //диапазон, 6 ячеек Весь код взят с примера. В своем приложении, работает на УРА. но никак не могу применить этот код к чужому (( если есть другие варианты, прошу не молчать. |
|
Создано: 14 мая 2010 17:42 · Личное сообщение · #5 |
|
Создано: 14 мая 2010 21:54 · Личное сообщение · #6 |
eXeL@B —› Программирование —› Delphi 7, dll и TStringGrid |
Эта тема закрыта. Ответы больше не принимаются. |